ES6系列 数值的扩展

195 阅读1分钟

1.Number.isFinite(), Number.isNaN()

isFinite()函数用来判断被传入的参数值是否为一个有限数值(finite number)。在必要情况下,参数会首先转为一个数值。

isFinite(Infinity);  // false
isFinite(NaN);       // false
isFinite(-Infinity); // false
​
isFinite(0);         // true
isFinite(2e64); // true, 在更强壮的Number.isFinite(null)中将会得到false
​
isFinite("0"); // true, 在更强壮的Number.isFinite('0')中将会得到false

注意,如果参数类型不是数值,isFinite就会返回false

isNaN()用来检查一个值是否为NaN

isNaN(NaN) // true
isNaN(15) // false
isNaN('15') // false
isNaN(true) // false

2.Number.parseInt(), Number.parseFloat()

ES6 将全局方法 parseInt()、parseFloat(),重构到了Number对象上面,行为完全保持不变。

​// ES5的写法
​parseInt('12.34') // 12
parseFloat('123.45#') // 123.45
​
// ES6的写法
Number.parseInt('12.34') // 12
Number.parseFloat('123.45#') // 123.45

3.Number.isInteger()

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

Number.isInteger(21) // true
Number.isInteger(21.5) // false

JavaScript 内部,整数和浮点数采用的是同样的储存方法,所以 21 和 21.0 被视为同一个值。

Number.isInteger(21) // true
Number.isInteger(21.00) // true

如果参数不是数值,Number.isInteger() 返回 false

Number.isInteger() // false
Number.isInteger(null) // false
Number.isInteger('15') // false
Number.isInteger(true) // false

往期内容

希望大家能一块分享一些文章,在公众号里面私信我吧!