es6-数值扩展

2018-09-16  本文已影响0人  王童孟

数值处理新增特性

多进制表示方法

{
  // 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
}

三角函数方法

对数方法

上一篇下一篇

猜你喜欢

热点阅读