ES6中数值扩展引入了一些新的方法和语法,包括以下内容:
- 二进制和八进制表示法
ES6中新增了二进制和八进制的表示法,分别使用前缀0b和0o来表示。
let binary = 0b101; // 5 let octal = 0o10; // 8
- Number.isFinite()
Number.isFinite()方法用来检测一个数值是否为有限数值,返回一个布尔值。
Number.isFinite(Infinity); // false Number.isFinite(-Infinity); // false Number.isFinite(NaN); // false Number.isFinite(2); // true
- Number.isNaN()
Number.isNaN()方法用来检测一个值是否为NaN,返回一个布尔值。
Number.isNaN(NaN); // true Number.isNaN(2); // false
- Number.parseInt()和Number.parseFloat()
ES6中将parseInt()和parseFloat()方法移植到了Number对象上。
Number.parseInt('12.34'); // 12 Number.parseFloat('12.34'); // 12.34
- Number.isInteger()
Number.isInteger()方法用来判断一个数值是否为整数,返回一个布尔值。
Number.isInteger(1); // true Number.isInteger(1.0); // true Number.isInteger(1.1); // false
- Math.trunc()
Math.trunc()方法用来去除一个数的小数部分,返回整数部分。
Math.trunc(1.23); // 1 Math.trunc(-1.23); // -1
- Math.sign()
Math.sign()方法用来判断一个数是正数、负数还是零,返回值为1、-1或0。
Math.sign(2); // 1 Math.sign(-2); // -1 Math.sign(0); // 0
Math.cbrt():
计算一个数的立方根。
Math.clz32():
返回一个数的32位无符号整数形式有多少个前导0。
Math.imul():
返回两个数的32位整数乘积。
Math.fround():
将一个数转换为最接近的单精度浮点数。