1. 二进制和八进制表示法:
ES6 允许使用 0b 或 0o 前缀表示二进制和八进制数值:
let binaryNumber = 0b1010; // 二进制数值 10
let octalNumber = 0o755; // 八进制数值 493
2. Number.isFinite() 和 Number.isNaN():
Number.isFinite() 用于检查一个值是否为有限数,Number.isNaN() 用于检查一个值是否为 NaN。相较于全局的 isFinite() 和 isNaN() 方法,这两个方法不会将非数值转换为数值,而是只对数值进行判断。
Number.isFinite(42); // true
Number.isFinite(NaN); // false
Number.isFinite(Infinity); // false
Number.isNaN(NaN); // true
Number.isNaN(42); // false
Number.isNaN("hello"); // false
3. Number.isInteger():
Number.isInteger() 用于判断一个值是否为整数。
Number.isInteger(42); // true
Number.isInteger(42.1); // false
Number.isInteger("42"); // false
4. Number.EPSILON:
Number.EPSILON 表示 1 与大于 1 的最小浮点数之间的差值,用于比较浮点数的精度。
if (Math.abs(a - b) < Number.EPSILON) {
// 在精度范围内认为两数相等
}
5. 安全整数和 Number.isSafeInteger():
JavaScript 中的整数有一个最大安全整数和最小安全整数,可以通过 Number.MAX_SAFE_INTEGER 和 Number.MIN_SAFE_INTEGER 获取。Number.isSafeInteger() 用于判断一个值是否为安全整数。
let maxSafeInteger = Number.MAX_SAFE_INTEGER; // 9007199254740991
let minSafeInteger = Number.MIN_SAFE_INTEGER; // -9007199254740991
Number.isSafeInteger(42); // true
Number.isSafeInteger(42.1); // false
6. Math 对象的扩展:
ES6 还对 Math 对象进行了一些扩展,增加了一些新的数学方法,如 Math.trunc()、Math.sign()、Math.cbrt() 等。
Math.trunc(4.9); // 4
Math.sign(-3); // -1
Math.cbrt(8); // 2
这些 ES6 中的数值扩展使得在处理数字和数学运算时更为方便和精确。
转载请注明出处:http://www.zyzy.cn/article/detail/4667/ES6