在 JavaScript 中,整数的数值范围是 -253 ~ 253-1,这个取值范围对于大多数情况已经足够了。但是,在某些场景下,需要处理更大的整数值,此时就需要使用 BigInt 类型。
BigInt 是什么
BigInt 是一种新的原始数据类型,用于表示任意精度的整数。它可以表示更大的整数范围,目前官方支持的最大值为 253-1,但是 BigInt 可以表示比这个范围更大的整数。
如何使用 BigInt
在 JavaScript 中,可以通过在整数值后面添加 n
或者使用 BigInt()
函数来创建 BigInt 类型值。
const bigIntValue = 1234567890123456789012345678901234567890n; const anotherBigInt = BigInt("72921265765431265431265498751231235654987");
需要注意的是,在计算过程中,BigInt 类型和普通整数类型不能混合使用,需要使用 BigInt()
函数进行转换。
const a = 123n; const b = 456; console.log(a * b); // TypeError: Cannot mix BigInt and other types, use explicit conversions console.log(a * BigInt(b)); // 56088n
BigInt 类型的操作
在 BigInt 类型上,支持的操作和 Number 类型基本上一致,只需要在操作符前面加上 n
以及使用 BigInt()
函数进行转换即可。
const a = 123n; const b = 456n; const c = BigInt("-789"); console.log(a + b); // 579n console.log(b - c); // 1245n console.log(a * BigInt("100")); // 12300n console.log(b / 5n); // 91n console.log(c ** 2n); // 622521n
除了基本的算术运算符号外,BigInt 类型还支持很多其他的操作符号,例如:&
、|
、^
、~
等位运算符,以及 >>
、<<
、>>>
等移位运算符等。
BigInt 类型还有一些方法,例如:toString()
、toLocaleString()
、valueOf()
等用于转换成字符串、数值字符串和数值类型。
BigInt 类型的限制和注意事项
BigInt 类型在使用时,有一些限制和注意事项:
BigInt 类型不能和普通整数类型以及字符串类型混合使用,需要进行类型转换。
在比较两个不同类型的数值时,需要使用
==
和!=
进行比较,不支持===
和!==
进行严格比较。因为 BigInt 类型的数值比较大,所以在使用时要注意内存的消耗,避免使用过多的内存。
总结
BigInt 类型是 JavaScript 中的一种新的原始数据类型,用于表示任意精度的整数,能够解决普通整数类型表示范围过小的问题。在使用 BigInt 类型时,需要注意到和普通整数类型以及字符串类型的区别和限制,以及内存的消耗问题。
此外,BigInt 类型还支持基本的算术运算符以及位运算符、移位运算符等一系列操作符,可以很方便的使用 BigInt 类型进行算术运算。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65b74627add4f0e0fffd8b43