es6-數值擴充套件

littlebirdflying發表於2018-09-16

數值處理新增特性

  • 新增方法,如數學處理
  • 方法調整,全域性方法移植到 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
}
複製程式碼

三角函式方法

對數方法

相關文章