1、使用整数
JavaScript使用IEEE 754编码系统来表示整数和浮点数。
①、识别整数
Number.isInteger():确定一个值是否为JavaScript整数类型。
有些数字看起来像浮点数,却存储为整数。
console.log(Number.isInteger(25)); // true
console.log(Number.isInteger(25.0)); // true
console.log(Number.isInteger(25.1)); // false
②、安全整数
IEEE 754只能准确的表示-2^53~2^53之间的整数。
Number.isSafeInteger():识别语言可以准确表示的整数。
Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER表示安全整数范围的上限和下限。
let inside = Number.MAX_SAFE_INTEGER,
outside = inside + 1;
console.log(Number.isInteger(inside)); // true
console.log(Number.isSafeInteger(inside)); // true
console.log(Number.isInteger(outside)); // true
console.log(Number.isSafeInteger(outside)); // false
2、新的Math方法
Math.acosh(x):x的反双曲余弦
Math.asinh(x):x的反双曲正弦
Math.atanh(x):x的反双曲正切
Math.cosh(x):x的双曲余弦
Math.sinh(x):x的双曲正弦
Math.tanh(x):x的双曲正切
Math.cbrt(x):x的立方根
Math.clz32(x):x的32位整数表示中的前导零位数
Math.expm1(x):从x的指数函数中减去1的结果
Math.fround(x):与x最接近的单精度浮点数
Math.hypot(...values):每个参数的立方和的平方根
Math.imul(x,y):执行两个参数的32位有符号乘法的结果
Math.log1p(x):1+x的自然对数
Math.log2(x):以2为底x的对数
Math.log10(x):以10为底x的对数
Math.trunc(x):一个整数(从浮点数中删除小数位数)
如果x为负,则为-1
Math.sign(x):如果x为+0或-0,则为0
如果x为正,则为1
3、Unicode标识符
4、正式化__proto__属性
__proto__可用于获取和设置[[Prototype]]属性,但ECMAScript不建议使用。