Number.isFinite(), Number.isNaN()
ES6 在 Number 对象上,新提供了 Number.isFinite() 和 Number.isNaN() 两个方法。
Number.isFinite() 用来检查一个数值是否为有限的(finite),即不是 Infinity 。
1. Number.isFinite(15); // true 2. Number.isFinite(0.8); // true 3. Number.isFinite(NaN); // false 4. Number.isFinite(Infinity); // false 5. Number.isFinite(-Infinity); // false 6. Number.isFinite(‘foo‘); // false 7. Number.isFinite(‘15‘); // false 8. Number.isFinite(true); // false
注意,如果参数类型不是数值, Number.isFinite 一律返回 false 。
Number.isNaN() 用来检查一个值是否为 NaN 。
1. Number.isNaN(NaN) // true 2. Number.isNaN(15) // false 3. Number.isNaN(‘15‘) // false 4. Number.isNaN(true) // false 5. Number.isNaN(9/NaN) // true 6. Number.isNaN(‘true‘ / 0) // true 7. Number.isNaN(‘true‘ / ‘true‘) // true
如果参数类型不是 NaN , Number.isNaN 一律返回 false 。
它们与传统的全局方法 isFinite() 和 isNaN() 的区别在于,传统方法先调用 Number() 将非数
值的值转为数值,再进行判断,而这两个新方法只对数值有效, Number.isFinite() 对于非数值一
律返回 false , Number.isNaN() 只有对于 NaN 才返回 true ,非 NaN 一律返
回 false 。
1. isFinite(25) // true 2. isFinite("25") // true 3. Number.isFinite(25) // true 4. Number.isFinite("25") // false 5. 6. isNaN(NaN) // true 7. isNaN("NaN") // true 8. Number.isNaN(NaN) // true 9. Number.isNaN("NaN") // false 10. Number.isNaN(1) // false
Number.parseInt(), Number.parseFloat()
ES6 将全局方法 parseInt() 和 parseFloat() ,移植到 Number 对象上面,行为完全保持不
变。
1. // ES5的写法 2. parseInt(‘12.34‘) // 12 3. parseFloat(‘123.45#‘) // 123.45 4. 5. // ES6的写法 6. Number.parseInt(‘12.34‘) // 12 7. Number.parseFloat(‘123.45#‘) // 123.45
这样做的目的,是逐步减少全局性方法,使得语言逐步模块化。
1. Number.parseInt === parseInt // true 2. Number.parseFloat === parseFloat // true
Number.isInteger()
Number.isInteger() 用来判断一个数值是否为整数。
1. Number.isInteger(25) // true 2. Number.isInteger(25.1) // false
JavaScript 内部,整数和浮点数采用的是同样的储存方法,所以 25 和 25.0 被视为同一个值。
1. Number.isInteger(25) // true 2. Number.isInteger(25.0) // true
如果参数不是数值, Number.isInteger 返回 false 。
1. Number.isInteger() // false 2. Number.isInteger(null) // false 3. Number.isInteger(‘15‘) // false 4. Number.isInteger(true) // false
2021-04-24 12:15:55
原文:https://www.cnblogs.com/zhenggc99/p/14696601.html