js中默认Number的最大值是 2 的 53次方,即 9007199254740992
    无法增大

    1. const max = 2 ** 53
    2. console.log('max', max)
    3. console.log('max+1', max === max + 1)
    4. const bigNum = 9007199254740999n
    5. console.log('bigNum', bigNum)
    6. console.log('type', typeof bigNum)

    image.png

    n修饰不会影响数值大小,但是添加了n以后数值的类型会发生变化
    BigInt类型数据也可以通过 BigInt() 去声明

    1. const bigNum2 = BigInt(1)
    2. console.log('bigNum2', bigNum2)
    3. console.log('数值是否相等', bigNum2 == 1)
    4. console.log('数据类型是否相同', bigNum2 === 1)

    image.png

    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 类型数据来进行存储