在 JavaScript 中,数字的最大值为 2^53 - 1,如果要处理更大的数字,就需要使用 BigInt。BigInt 是 ECMAScript 2020 中引入的新特性,它可以处理任意精度的整数,包括超出 Number 范围的数字。
BigInt 的创建
BigInt 可以通过在数字后面加上 n
来创建,也可以使用 BigInt()
函数来创建。
----- ------- - ------------------------------------------ ----- ------- - ---------------------------------------------------
BigInt 的运算
BigInt 可以进行基本的数学运算,包括加、减、乘、除和取模运算。
----- ------- - ------------------------------------------ ----- ------- - --------------------------------------------------- ------------------- - --------- -- ------------------------------------------ ------------------- - --------- -- ------------------------------------------ ------------------- - --------- -- --------------------------------------------------------------------------- ------------------- - --------- -- -- ------------------- - --------- -- -----------------------------------------
需要注意的是,BigInt 和 Number 不能直接进行运算,需要先将 Number 转换成 BigInt。
----- ------ - ------------------------------------------ ----- ------ - ---- ------------------ - ---------------- -- -----------------------------------------
BigInt 的比较
BigInt 可以和 Number、BigInt 进行比较,比较操作符包括 >、<、>=、<=、==、!=
。
----- ------- - ------------------------------------------ ----- ------- - --------------------------------------------------- ----- ------ - ---- ------------------- - --------- -- ----- ------------------- - --------- -- ---- ------------------- -- -------- -- ----- ------------------- -- -------- -- ----
需要注意的是,对于相同类型的 BigInt,可以使用 ===、!==
进行比较,但是对于不同类型的 BigInt 和 Number,需要先将 Number 转换成 BigInt。
BigInt 的属性和方法
BigInt 有一些属性和方法,可以用来获取 BigInt 的一些信息和进行一些操作。
BigInt.asUintN()
BigInt.asUintN()
方法可以将 BigInt 转换成无符号整数,参数为转换后整数的位数。
----- ------ - ------------------------------------------ ------------------------------ --------- -- ----------- ------------------------------ --------- -- -----------------------------------------
BigInt.asIntN()
BigInt.asIntN()
方法可以将 BigInt 转换成有符号整数,参数为转换后整数的位数。
----- ------ - ------------------------------------------- ----------------------------- --------- -- ------------ ----------------------------- --------- -- ------------------------------------------
BigInt.prototype.toString()
BigInt.prototype.toString()
方法可以将 BigInt 转换成字符串,参数为转换后字符串的进制。
----- ------ - ------------------------------------------ ------------------------------- -- ------------------------------------------ -------------------------------- -- ------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------- -- --------------------------------
总结
BigInt 是 ECMAScript 2020 中引入的新特性,可以处理任意精度的整数。需要注意的是,BigInt 和 Number 不能直接进行运算,需要先将 Number 转换成 BigInt。BigInt 有一些属性和方法,可以用来获取 BigInt 的一些信息和进行一些操作。在处理大数时,可以使用 BigInt 来避免精度丢失的问题。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6625d958c9431a720c228776