ES6
对数值对象进行了一些扩展,这篇文章我们就来学习一下。
const num16 = 0xA0B0C0
const num2 = 0b111
const num8 = 0o777
Number.EPSILON
由于js
在浮点数运算时并不精确,引入Number.EPSILON
就是为了浮点数的运算。实际上,Number.EPSILON
是 JavaScript 能够表示的最小精度。误差如果小于这个值,就可以认为已经没有意义了,即不存在误差了。
console.log(0.1 + 0.2 === 0.3)
const a = 0.1 + 0.2
const b = 0.3
console.log(Math.abs(a - b) < Number.EPSILON)
Number.isFinite()
用来检查一个数值是否为有限的,即不是Infinity
。
Number.isFinite(2022);
Number.isFinite(0.1);
Number.isFinite(NaN);
Number.isFinite(Infinity);
Number.isFinite('a');
Number.isFinite('2022');
Number.isFinite(true);
Number.isNaN()
用来检查一个值是否为NaN
。
Number.isNaN(NaN)
Number.isNan('NaN')
Number.isNaN(2022)
Number.isNaN('2022')
Number.isNaN(true)
Number.isNaN(9/NaN)
Number.isNaN('true' / 0)
Number.isNaN('true' / 'true')
Number.parseInt()
,Number.parseFloat()
ES6
将全局方法parseInt()
和parseFloat()
移植到了Number
对象上,用法保持不变。
Number.parseInt('2022')
Number.parseFloat('3.14')
Number.parseInt('2022Beijing')
Number.parseFloat('3.14#')
Number.isInteger()
用来判断一个数值是否为整数。
Number.isInteger(2022)
Number.isInteger(2022.2)
Number.isInteger()
Number.isInteger(null)
Number.isInteger('2022')
Number.isInteger(true)