我们都知道,在 JS 中,Number类型所能表示的整数是一个范围的。
Number表示的最大整数是 2^53-1,也就是「9007199254740991」。
那我如果要处理更大的整数怎么办呢?这时候就可以使用BigInt类型。
BigInt 是 ES10 引入的新特性,这是一种很新的数据类型,用于表示任意精度的整数。
我们可以使用 BigInt() 函数将一个数字或字符串转换为 BigInt 类型。
例如:
const bigIntNum = BigInt(9007199254740992); console.log(bigIntNum); //9007199254740992n
「9007199254740992」这个整数是超出 Number 类型所能表示的整数范围的,借助 BigInt() 我们将其转换为 BigInt 类型,并用后缀n表示。
BigInt类型和Number类型一样,都支持常见的算术运算符,例如加减乘除、取余等。
但我们要注意:这两个数据类型不能混合使用,需要使用「BigInt」类型的算术运算符进行计算。
const bigIntNum1 = BigInt(9007199254740992); const bigIntNum2 = BigInt(2); const result = bigIntNum1 * bigIntNum2; console.log(result); // 18014398509481984n
这个例子中的结果,是两个 BigInt 类型的整数相乘得来的。