BigInt 是 JavaScript 用于安全表示任意精度整数的原始类型,以 n 结尾(如 123n),支持算术与比较操作,但不可与 Number 混合运算,需显式转换。

JavaScript 的 BigInt 是一种内置原始类型,专门用来安全地表示和运算任意精度的整数——也就是比 Number 类型能表示的最大安全整数(2⁵³ − 1)还要大的整数。
BigInt 用后缀 n 表示大整数
创建 BigInt 最直接的方式是在整数字面量末尾加一个字母 n:
-
123n是一个 BigInt,而123是普通 number -
9007199254740992n精确表示该值,不会像9007199254740992那样在 Number 中因精度丢失变成9007199254740992(看似一样,但再加 1 就出问题) - 不能用小数或指数形式:❌
1.5n、❌1e5n;只能是整数加n
BigInt 支持基本算术和比较操作
它可以做加(+)、减(-)、乘(*)、除(/)、取余(%)、幂(**)等运算,结果仍是 BigInt:
100n + 50n === 150n-
2n ** 64n得到精确的 2⁶⁴(18446744073709551616n) - 注意:
===可以比较两个 BigInt,但==会报错(因为 BigInt 和 Number 不可隐式转换) - 大小比较(
、<code>>)允许与 Number 混用,如100n > 99返回true
BigInt 不能和 Number 混合运算
这是关键限制:你不能直接把 BigInt 和普通数字相加、相乘等,否则会抛出 TypeError:
标签: javascript java 大数据 金融 twitter 隐式转换
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~