es6-数值扩展
2018-09-16 本文已影响0人
王童孟
数值处理新增特性
- 新增方法,如数学处理
- 方法调整,全局方法移植到 Number 对象上
多进制表示方法
{
// es6 2进制 0B 开头
console.log('B',0B111110111); // 503
console.log('B',0b111110111); // 相同,0B 和 0b 都可以
// es6 8进制 0o 开头
console.log(0o767); // 503
console.log(0O767); // 相同,0o 和 0O 都可以
}
是否有穷
使用频率不高
{
console.log('15',Number.isFinite(15)); // true
console.log('NaN',Number.isFinite(NaN)); // false
console.log('1/0',Number.isFinite('true'/0)); // false
}
是不是 NaN
使用频率不高
{
console.log('NaN',Number.isNaN(NaN)); // true
console.log('0',Number.isNaN(0)); // false
}
是不是整数
{
console.log('25',Number.isInteger(25)); // true
console.log('25.0',Number.isInteger(25.0)); // ture
console.log('25.1',Number.isInteger(25.1)); // false
console.log('字符串的25',Number.isInteger('25')); // false,参数必须是数字
}
数字的上限和下限
两个常量
{
console.log(Number.MAX_SAFE_INTEGER,Number.MIN_SAFE_INTEGER); // 9007199254740991 -9007199254740991
}
是否是安全数
判断数字是否在有效范围内,是否是安全数
{
console.log('10',Number.isSafeInteger(10)); // true
console.log('a',Number.isSafeInteger('a')); // false,参数不是数字
}
返回小数的整数部分
{
console.log(4.1,Math.trunc(4.1)); // 4
console.log(4.9,Math.trunc(4.9)); // 4
console.log(4,Math.trunc(4)) // 4
}
判断数字是正数、负数、0
返回值4种情况:1、-1、0、NaN
{
console.log('-5',Math.sign(-5)); // -1
console.log('0',Math.sign(0)); // 0
console.log('5',Math.sign(5)); // 1
console.log('字符串的50',Math.sign('50')); // 1,转换成了数字
console.log('foo',Math.sign('foo')); // NaN
}
立方根的计算
{
console.log('-1',Math.cbrt(-1)); // -1
console.log('8',Math.cbrt(8)); // 2
}