美文网首页
ES6 数值的扩展

ES6 数值的扩展

作者: Kevin丶CK | 来源:发表于2019-03-21 15:36 被阅读0次

1.二进制和八进制表示法

ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示。

2.Number.isFinite(), Number.isNaN()

ES6 在Number对象上,新提供了Number.isFinite()和Number.isNaN()两个方法。
Number.isFinite()用来检查一个数值是否为有限的(finite),即不是Infinity。

Number.isFinite(1); // true
Number.isFinite(0.1); // true
Number.isFinite(NaN); // false
Number.isFinite(Infinity); // false
Number.isFinite(-Infinity); // false
Number.isFinite('hello'); // false
Number.isFinite('1'); // false
Number.isFinite(true); // false

注意,如果参数类型不是数值,Number.isFinite一律返回false。
Number.isNaN()用来检查一个值是否为NaN。

    console.log(Number.isNaN(NaN)); // true
    console.log(Number.isNaN(1)); // false
    console.log(Number.isNaN('1')); // false
    console.log(Number.isNaN(true)); // false
    console.log(Number.isNaN(1/NaN)); // true
    console.log(Number.isNaN('true' / 0)); // true
    console.log(Number.isNaN('true' / 'true')); // true

如果参数类型不是NaN,Number.isNaN一律返回false。
它们与传统的全局方法isFinite()和isNaN()的区别在于,传统方法先调用Number()将非数值的值转为数值,再进行判断,而这两个新方法只对数值有效,Number.isFinite()对于非数值一律返回false, Number.isNaN()只有对于NaN才返回true,非NaN一律返回false。

3.Number.parseInt(), Number.parseFloat()

ES6 将全局方法parseInt()和parseFloat(),移植到Number对象上面,行为完全保持不变。

4.Number.isInteger()

Number.isInteger()用来判断一个数值是否为整数。

   console.log(Number.isInteger(1)); // true
   console.log(Number.isInteger(1.1)); // false

如果参数不是数值,Number.isInteger返回false
注意,由于 JavaScript 采用 IEEE 754 标准,数值存储为64位双精度格式,数值精度最多可以达到 53 个二进制位(1 个隐藏位与 52 个有效位)。如果数值的精度超过这个限度,第54位及后面的位就会被丢弃,这种情况下,Number.isInteger可能会误判。

  console.log(Number.isInteger(3.0000000000000002)); // true

相关文章

  • es6的数值,函数,字符串扩展

    一、es6的数值扩展 二、es6的函数扩展 代码效果:对象解构在函数中的应用 三、es6字符串扩展 常用方法 代码...

  • ES6扩展归纳

    ES6扩展归纳 介绍ES6相比与ES5在原有对象上的扩展,包括字符串、正则、数值、函数、数组、对象等扩展,本文是阮...

  • ES6之数值扩展

    ES6对数值的扩展,说是扩展,但是更像是对ES5中的数值的一个方法的添加和补充,其变化远没有字符串的扩展变化...

  • es6数值扩展

    1. 二进制和八进制表示法 ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)...

  • ES6数值扩展

    阮一峰大神的ES6数值篇已经写的很好很全,下边贴出链接,然后斗胆写一点自己学习的总结。阮一峰ES6数值扩展我准备从...

  • es6‖数值扩展

  • ES6数值扩展

    二进制0B,八进制0O Number.isFinite(),Number.isNaN() Number.parse...

  • ES6(数值扩展)

  • ES6标准入门 摘要 (数值的扩展)

    数值的扩展 Number.isFinite(), Number.isNaN() ES6 在Number对象上,新提...

  • ES6数值的扩展

    1.二进制和八进制的数值的表示方法 分别用0b(0B)和0o(0O)表示二进制和八进制; 如果要将二进制或者八进制...

网友评论

      本文标题:ES6 数值的扩展

      本文链接:https://www.haomeiwen.com/subject/rmetvqtx.html