BigInt 基元是相對新增,
JavaScript:允許對範圍外數字進行數學運算
由「Number
」允許。如要建立 BigInt,請在數字結尾加上 n
,或將整數或數字字串值傳遞至 BigInt()
函式。
const myNumber = 9999999999999999;
const myBigInt = 9999999999999999n;
typeof myNumber;
> "number"
typeof myBigInt;
> "bigint"
myNumber;
> 10000000000000000
myBigInt;
> 9999999999999999n
在這個範例中,9999999999999999
超出可允許的位數範圍
以安全的方式由 Number
表示,導致四捨五入錯誤。
BigInt 值不會繼承 Number
物件的方法和屬性
,且這些物件無法與 JavaScript 內建的 Math
方法搭配使用
物件提供的物件最重要的是,在 BigQuery 中
標準算術運算:
9999999999999999n + 5
> Uncaught TypeError: can't convert BigInt to number
如要使用 BigInts 進行算術,您必須將兩個運算元定義為 BigInt 值:
console.log( 9999999999999999 + 10 ); // Off by one
> 10000000000000010
console.log( 9999999999999999n + 10n );
> 10000000000000009n