BigInt是ES11中新增的一种基本数据类型,它可以是任意大的整数。它解决了Number类型的限制。

当一个数大于Number类型所能表示的最大整数时,这个数会被四舍五入。那么会损害程序的可靠性和安全性。

9007199254740992 === 9007199254740993; // true

为了解决这个限制,可以使用BigInt类型来解决这个问题。

BigInt("9007199254740998"); // 9007199254740998n

出了使用BigInt构造函数创建BigInt类型的值,也可以在数字后面添加上n即可。

console.log(typeof 9007199254740998n) // bigint