ECMAScript 2021 引入了新类型 BigInt,用于表示大整数,即大于 253 - 1 的整数。BigInt 类型可以有效地解决在 JavaScript 中进行精确计算时溢出的问题。本文将详细介绍 BigInt 的用法。
创建 BigInt 对象
BigInt 可以通过在数字后面添加 n 或者使用 BigInt() 函数来创建。以下是创建 BigInt 的两种方法:
const bigNumber1 = 1234567890123456789012345678901234567890n; const bigNumber2 = BigInt("1234567890123456789012345678901234567890");
BigInt 对象的运算
BigInt 支持基本运算,包括加、减、乘、除和求余数(跟普通整数的运算方法相同)。运算符也与普通数字相同,只不过需要在运算符后加上 n。
-- -------------------- ---- ------- ----- ---------- - ------------------------------------------ ----- ---------- - --------------------------------------------------- ----- --------- - ---------- - ----------- -- - ----- --------- - ---------- - ----------- -- - ----- --------- - ---------- - ----------- -- - ----- --------- - ---------- - ----------- -- - ----- --------- - ---------- - ----------- -- --- ----------------------- -- ------------------------------------------ ----------------------- -- ----------------------------------------- ----------------------- -- --------------------------------------------------------------------------------- ----------------------- -- ----------- ----------------------- -- -----------------------------------------
BigInt 和普通数字的互操作
BigInt 和普通数字之间可以进行强制转换:
-- -------------------- ---- ------- ----- --------- - ------------------------------------------ ----- ------------ - ------- ----- --------- - --------- - --------------------- ----- --------- - --------- - --------------------- ----- --------- - --------- - --------------------- ----- --------- - --------- - --------------------- ----- --------- - --------- - --------------------- ----------------------- -- ----------------------------------------- ----------------------- -- ----------------------------------------- ----------------------- -- ------------------------------------------------------------ ----------------------- -- --------------------------------------------------- ----------------------- -- ----
BigInt 对象的方法
toString()
BigInt 可以使用 toString() 方法将其转换为字符串:
const bigNumber = 1234567890123456789012345678901234567890n; const bigNumberString = bigNumber.toString(); console.log(bigNumberString); // "1234567890123456789012345678901234567890"
valueOf()
BigInt 可以使用 valueOf() 方法返回其原始值:
const bigNumber = 1234567890123456789012345678901234567890n; console.log(bigNumber.valueOf()); // 1234567890123456789012345678901234567890n
总结
BigInt 对象可以处理极大的整数,避免了普通整数的溢出问题。在进行处理精确计算时,BigInt 提供了完美的解决方案。在使用时只需要注意 BigInt 的操作方法和强制转换即可。上述是 ECMA2021 BigInt 对象的功能使用介绍及代码实现,希望对读者有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64d509cab5eee0b525ce6bbd