在 ECMAScript 2019 中,新增了一个 BigInt 原始类型,用于表示任意精度的整数。在之前的版本中,JavaScript 只能表示 53 位以内的整数,超出这个范围的整数会出现精度丢失的问题。而 BigInt 类型则可以表示任意位数的整数,解决了这个问题。
BigInt 的使用
BigInt 类型的值必须以 n 结尾,例如:
----- ------ - ------------------------------------------
BigInt 类型的值可以和 Number 类型的值进行运算,但是需要注意的是,两个类型的值不能直接进行运算,需要先将其中一个类型的值转换为另一个类型。例如:
----- ------ - ------------------------------------------ ----- --- - ---- ------------------ - ------------- -- -- -----------------------------------------
BigInt 的方法
BigInt 类型的值也可以使用一些方法,例如:
BigInt.prototype.toString()
将 BigInt 类型的值转换为字符串。
----- ------ - ------------------------------------------ ------------------------------- -- -- ------------------------------------------
BigInt.prototype.valueOf()
返回 BigInt 类型的值的原始值。
----- ------ - ------------------------------------------ ------------------------------ -- -- -----------------------------------------
BigInt.asUintN()
将 BigInt 类型的值转换为一个指定位数的无符号整数。
----- ------ - ------------------------------------------ ------------------------------ --------- -- -- -----------
注意事项
需要注意的是,BigInt 类型的值不能和普通的 Number 类型的值进行比较,例如:
----- ------ - ------------------------------------------ ----- --- - ---- ------------------ - ----- -- --
需要使用 BigInt 类型的值进行比较,例如:
----- ------ - ------------------------------------------ ----- --- - ---- ------------------ - ------------- -- -- ----
总结
在 ECMAScript 2019 中,BigInt 原始类型的引入解决了 JavaScript 中整数精度丢失的问题,使得 JavaScript 可以表示任意位数的整数。同时,BigInt 类型的值可以和 Number 类型的值进行运算,可以使用一些方法进行操作。需要注意的是,BigInt 类型的值不能和普通的 Number 类型的值进行比较,需要使用 BigInt 类型的值进行比较。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/655eed7ad2f5e1655d90f9d8