關於 JavaScript 中的 Number 屬性和方法的一切

本文介紹了如何使用內建的 Number 物件,並列出了它的屬性和方法。

可以使用數字字面值語法來生成 number 值:

const age = 36
typeof age //number

或使用 Number 全域函式:

const age = Number(36)
typeof age //number

如果使用 new 關鍵字,則會返回一個 Number 物件:

const age = new Number(36)
typeof age //object

它與 number 類型具有非常不同的行為。您可以使用 valueOf() 方法獲取原始的 number 值:

const age = new Number(36)
typeof age //object
age.valueOf() //36

屬性

  • EPSILON - 兩個數字之間的最小間隔
  • MAX_SAFE_INTEGER - JavaScript 可以表示的最大整數值
  • MAX_VALUE - JavaScript 可以表示的最大正數值
  • MIN_SAFE_INTEGER - JavaScript 可以表示的最小整數值
  • MIN_VALUE - JavaScript 可以表示的最小正數值
  • NaN - 表示 “不是數字” 的特殊值
  • NEGATIVE_INFINITY - 表示負無窮大的特殊值
  • POSITIVE_INFINITY - 表示正無窮大的特殊值

這些屬性的值如下所示:

Number.EPSILON
Number.MAX_SAFE_INTEGER
Number.MAX_VALUE
Number.MIN_SAFE_INTEGER
Number.MIN_VALUE
Number.NaN
Number.NEGATIVE_INFINITY
Number.POSITIVE_INFINITY
2.220446049250313e-16
9007199254740991
1.7976931348623157e+308
-9007199254740991
5e-324
NaN
-Infinity
Infinity

物件方法

我們可以通過傳入一個值來調用這些方法:

我提到過 “安全整數”。在上面,有 MAX_SAFE_INTEGER 和 MIN_SAFE_INTEGER 屬性。什麼是安全整數?這是一個可以被精確表示為 IEEE-754 雙精度數字的整數(從 (2^53 - 1) 到 -(2^53 - 1) 的所有整數)。超出此範圍,JavaScript 將無法正確表示整數。這超出了課程的範圍,但是這是一個很好的解釋

實例方法

當您使用 new 關鍵字使用 Number() 函式實例化一個值時,我們會得到一個 Number 物件:

const age = new Number(36)
typeof age //object

這個物件提供了一些獨特的方法供您使用,主要用於將數字轉換為特定格式。

  • .toExponential(): 返回表示數字的指數表示法的字符串
  • .toFixed(): 返回表示數字的定點表示法的字符串
  • .toLocaleString(): 返回具有本地特定約定的數字的字符串
  • .toPrecision(): 返回表示數字的特定精度的字符串
  • .toString(): 返回表示指定對象的字符串,使用指定的基數。覆蓋了 Object.prototype.toString() 方法
  • .valueOf(): 返回對象的數字原始值