BigInt 基元是对 API 的相对新增
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
方法一起使用
对象所提供的最重要的是,您不能混用 BigInt 和 Number 基元
标准算术运算:
9999999999999999n + 5
> Uncaught TypeError: can't convert BigInt to number
要使用 BigInt 进行算术,您必须将两个操作数定义为 BigInt 值:
console.log( 9999999999999999 + 10 ); // Off by one
> 10000000000000010
console.log( 9999999999999999n + 10n );
> 10000000000000009n