ES6 ---- 数值

  • 二进制和八进制
    二进制以 0b(0B)开头
    八进制以0o(0O)开头

  • 转换成十进制

Number('0b111')
Number('0o10')
  • 检查数值是否为有限或者为空
//检查数值是否有限
Number.isFinite(15) //true
Number.isFinite(true) //false
Number.isFinite("hello") //false
//检查数值是否为空
Number.isNaN(NaN) //true
Number.isNaN(15) //false
  • 解析整数或浮点数
Number.parseInt('12.34') //12
Number.parseFloat('12.34') // 12.34
  • 判断是否为整数
Number.isInteger(12) //true
Number.isInteger(13.1) //false
  • 极小的常亮 Number.EPSILON
    可以使用这个数值设置一个误差范围
5.551115123125783e-17 < Number.EPSILON
// true
  • 数值的极限
    ES6 数值可以表示的范围是-253~253,超过这个数后就不精确了
//Number.MAX_SAFE_INTEGER 最大数
//Number.MIN_SAFE_INTEGER  最小数
Number.MAX_SAFE_INTEGER === Math.pow(2, 53) - 1// true
Number.MIN_SAFE_INTEGER === -Number.MAX_SAFE_INTEGER// true
//判断是否是安全整数
Number.isSafeInteger(9007199254740993)// false
Number.isSafeInteger(990)// true
  • 去除小数部分
Math.trunc(12.34) //12
Math.trunc(-4.1) //4
Math.trunc('12.34') //12  会先转换成数值再求值
  • 判断正负值和零
Math.sign(-5) // -1
Math.sign(5) // +1
Math.sign(0) // +0
Math.sign(-0) // -0
Math.sign('foo'); // NaN
Math.signbit(2) //false
Math.signbit(-2) //true
Math.signbit(0) //false
Math.signbit(-0) //true
  • 求立方根
Math.cbrt(-1) // -1
Math.cbrt(0)  // 0
Math.cbrt(1)  // 1
//对于非数值,Number会先将其转为数值
Math.cbrt('8') // 2
Math.cbrt('hello') // NaN
  • 三角函数
Math.sinh(x) 
Math.cosh(x) 
Math.tanh(x) 
Math.asinh(x) 
Math.acosh(x) 
Math.atanh(x) 

你可能感兴趣的:(ES6 ---- 数值)