📅  最后修改于: 2023-12-03 15:30:38.445000             🧑  作者: Mango
在 ES6 中,数字类型的功能得到了增强,包括以下内容:
ES6 支持二进制和八进制的字面量,使用前缀 0b
或 0o
分别表示二进制和八进制数。
let binary = 0b1010; // 二进制数 1010
let octal = 0o644; // 八进制数 644
console.log(binary); // 10
console.log(octal); // 420
ES6 对 Number 方法进行了增强,包括以下 5 个新方法:
该方法用于检查某个数值是否为有限的(finite),即不是 Infinity。
Number.isFinite(Infinity); // false
Number.isFinite(-Infinity); // false
Number.isFinite(NaN); // false
Number.isFinite(0); // true
Number.isFinite(1); // true
Number.isFinite(1.23); // true
该方法用于判断某个数值是否为整数,参数必须为数值类型。
Number.isInteger(0); // true
Number.isInteger(1); // true
Number.isInteger(1.23); // false
Number.isInteger('1'); // false
该方法用于检查某个数值是否为 NaN。
Number.isNaN(NaN); // true
Number.isNaN(0); // false
Number.isNaN('1'); // false
该方法用于判断某个数值是否为安全整数,即在 [-2^53, 2^53] 范围内的整数。参数必须为数值类型。
Number.isSafeInteger(Math.pow(2, 53) - 1); // true
Number.isSafeInteger(Math.pow(2, 53)); // false
Number.isSafeInteger('1'); // false
在 ES6 中,将全局对象上的 parseFloat 和 parseInt 方法转移到了 Number 对象上。
Number.parseFloat('3.14'); // 3.14
Number.parseFloat('3.14text'); // 3.14
Number.parseInt('42', 10); // 42
Number.parseInt('10', 8); // 8