Number.isNaN
我们知道isNaN曾是window下边的属性,用来判断是否是NaN(非数值))类型的。现在添加到Number对象下,也是同样的作用。所以我们需要注意的是它们的不同点:
- window.isNaN
- 可以省略window直接使用isNaN
window.isNaN(5); // false
isNaN(5); // false
- 先对目标值转化为数值类型再判断
isNaN('abc'); // 不能转换为数值类型,所以是NaN -->> true
- Number.isNaN
- 必须使用Number进行调用
- 只对数值类型有效
Number.isNaN(5); // false
Number.isNaN('abc5'); // false
Number.isFinite
判断是否是非无穷,同样只对数值类型有效
Number.isFinite(5); // true
Number.isFinite('abc'); // false
Number.parseInt & Number.ParseFloat
ES6 把全局下的parseInt 和ParseFloat也转移到了Number下边了,用法没有区别:
Number.parseFloat('ss2.15'); // NaN
Number.parseFloat('2.15ss'); // 2.15
Number.parseInt('2.15ss'); // 2
Number.isInteger
判断是否是整数,看几个例子就够了:
Number.isInteger(2); // true
Number.isInteger(2.5); // false
*特殊注意* Number.isInteger(3.0); // true
Number.isInteger('abc'); // false
Number.isInteger('2a'); // false
Number.EPSILON
Number.EPSILON代表了一个极小的常量,通常用来判断浮点数的计算误差。那么这个极小常量有多小呢?console.log(Number.EPSILON); // 2.220446049250313e-16
通过控制台输出我们看到Number.EPSILON的值。
我们知道浮点数在计算的时候回产生误差,所以在计算时通过判断差值是否小于这个Number.EPSILON极小常量来判断是否计算准确。
安全整数
ES6中引入了安全整数的概念,什么是安全整数?javascript能够处理的数据的范围是在-253到253之间,在这个范围内的数值就被称为是安全整数,超出了这个范围就被称为不安全。
ES6把这个范围的下限-2^53 定义为Number.MIN_SAFE_INTEGER,上线2^53定义为Number.MAX_SAFE_INTEGER,那么我们这么判断是否在这个范围内呢,直接用Number.isSafeInteger就可以判断是否在这个安全范围内了。
最后,跟大家分享一下我的个人博客地址:http://javascript404.com/
欢迎你的到来 ~ ~ ❤❤❤