js bigint数据类型

我们都知道,在 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 类型的整数相乘得来的。