Open HJY-xh opened 3 years ago
JavaScript能处理的最大数字是2的53次方,我们可以使用Number的MAX_SAFE_INTEGER属性得到这个值。 看个🌰
MAX_SAFE_INTEGER
const max = Number.MAX_SAFE_INTEGER; console.log(max); // 9007199254740991
如果超过了这个安全范围,就会出现一些错误情况。 看个🌰
console.log(max + 1); // 9007199254740992 console.log(max + 2); // 9007199254740992 console.log(max + 3); // 9007199254740994 console.log(Math.pow(2, 53) == Math.pow(2, 53) + 1); // true
我们可以使用新的BigInt数据类型来解决这个问题。通过把字母n放在末尾,我们可以开始使用并与大得离谱的数字进行交互。我们无法将标准数字与BigInt数字混合在一起,因此任何数学运算都需要使用BigInt来完成。 看个🌰
const bigNum = 100000000000000000000000000000n; console.log(bigNum + 1n); // 100000000000000000000000000001n
JavaScript能处理的最大数字是2的53次方,我们可以使用Number的
MAX_SAFE_INTEGER
属性得到这个值。 看个🌰如果超过了这个安全范围,就会出现一些错误情况。 看个🌰
我们可以使用新的BigInt数据类型来解决这个问题。通过把字母n放在末尾,我们可以开始使用并与大得离谱的数字进行交互。我们无法将标准数字与BigInt数字混合在一起,因此任何数学运算都需要使用BigInt来完成。 看个🌰