ES6扩展——数值扩展
1.0o代表八进制 0b代表二进制 ,通过Number()可转为10进制;
//0o 0O octanary八进制 //0b 0B binary二进制 console.log(0o16); //14 console.log(0b1111); //15
2.parseInt方法从window换到了Number下面 Number.parseInt(1.23)
Number.parseInt Number.parseFloat console.log(window.parseInt('1.23')); console.log(parseFloat('1.23')); console.log(Number.parseInt(1.23)); console.log(Number.parseFloat(1.23));
3.Number.isNaN()--判断是否是非数值,只有NaN跟—— -NaN返回true,其余均返回false
console.log(Number.isNaN(NaN)); //true console.log(Number.isNaN(-NaN)); //true console.log(Number.isNaN('1')); //false console.log(Number.isNaN(1)); //false console.log(Number.isNaN(true)); //false
//自己定义一个NaN函数
function isNaN(value){
return value !== value;
}
4.Number.isFinite(2/0); 返回布尔值,判断数值是不是有限的,你可以用这个方法来判定一个数字是否是有限数字。isFinite 方法检测它参数的数值。如果参数是 NaN,正无穷大或者负无穷大,会返回false,其他返回 true。
//isFinite console.log(Number.isFinite(Infinity)); console.log(Number.isFinite(2/0)); console.log(Number.isFinite(2/4)); //T console.log(Number.isFinite(1234));//T console.log(Number.isFinite('1234')); console.log(Number.isFinite(true)); console.log(Number.isFinite(NaN));
5.Number.isSafeInteger(); 返回布尔值,判断整数是否在精确范围内 Number.MAX_SAFE_INTEGER~Number.MIN_SAFE_INTEGER
//Number.MAX_SAFE_INTEGER Number.MIN_SAFE_INTEGER //Number.isSafeInteger();返回布尔值 console.log(Number.MAX_SAFE_INTEGER); console.log(Number.MIN_SAFE_INTEGER); console.log(Number.isSafeInteger(Number.MAX_SAFE_INTEGER -1)); console.log(Number.isSafeInteger(Number.MAX_SAFE_INTEER+1))
6.新特性幂运算 **
let a = (2 ** 10) ** 0;
console.log(a);
//let a = 2 ** 3;结果为8 //let a = 2 ** 10 ** 0;结果为2 运算顺序从右向左,若想从左往右则需添加括号(2 ** 10) ** 0