js中默认Number的最大值是 2 的 53次方,即 9007199254740992
无法增大
const max = 2 ** 53
console.log('max', max)
console.log('max+1', max === max + 1)
const bigNum = 9007199254740999n
console.log('bigNum', bigNum)
console.log('type', typeof bigNum)
n修饰不会影响数值大小,但是添加了n以后数值的类型会发生变化
BigInt类型数据也可以通过 BigInt() 去声明
const bigNum2 = BigInt(1)
console.log('bigNum2', bigNum2)
console.log('数值是否相等', bigNum2 == 1)
console.log('数据类型是否相同', bigNum2 === 1)
bigInt类型数据之间的运算
const num1 = BigInt(9007199254740999)
const num2 = BigInt(9007199254740999)
const sum = num1 + num2
console.log('sum', sum) // 18014398509482000n
console.log('sumStr', sum.toString()) // 18014398509482000
因为 bigInt 的数据超过了number的最大值,所以如果想要去除末尾的n,我们可以使用 string 类型数据来进行存储