ECMAScript 2020 (ECMAScript 11): BigInts 和 Math

ECMAScript 2020,也称为 ECMAScript 11,是 JavaScript 的最新版本。它包含一些新的功能和改进,其中最重要的是 BigInts 和 Math。

BigInts

JavaScript 中的数字类型是 Number,它是一个 64 位双精度浮点数。这意味着它可以表示的数字范围是有限的,最大值是 2 的 53 次方减一。如果需要表示更大的整数,JavaScript 以前的版本需要使用第三方库或手动实现大数算法。

ECMAScript 2020 引入了 BigInt 类型,它可以表示任意精度的整数。BigInts 可以用后缀 n 表示,例如:

----- - - ------------------------------------------

BigInts 支持所有基本的算术运算符,例如加、减、乘和除。它们也支持比较运算符,例如等于、大于和小于。

----- - - ------------------------------------------
----- - - ------------------------------------------
----- - - - - --
----- - - - - --
----- - - - - --
--------------- -- ------------------------------------------
--------------- -- ------------------------------------------------------------------------------
--------------- -- -----

需要注意的是,BigInts 不能与普通的 Number 进行混合运算。如果需要进行混合运算,需要将 Number 转换为 BigInt。例如:

----- - - ------------------------------------------
----- - - ----------
----- - - - - ----------
--------------- -- -----------------------------------------

Math

ECMAScript 2020 还引入了一些新的 Math 方法和属性。其中最重要的是:

  • Math.clamp(x, lower, upper):返回介于 lower 和 upper 之间的 x 值。如果 x 小于 lower,则返回 lower。如果 x 大于 upper,则返回 upper。
  • Math.degrees(x):将弧度转换为度数。
  • Math.scale(x, inLow, inHigh, outLow, outHigh):将 x 值从 inLow-inHigh 范围内的值映射到 outLow-outHigh 范围内的值。
  • Math.signbit(x):如果 x 是负数,则返回 true。否则返回 false。
----- - - ---
----- - - ------------- -- ---
----- - - -------------------- - ---
----- - - ------------- -- --- -- -----
----- - - -----------------
--------------- -- -
--------------- -- --
--------------- -- --
--------------- -- ----

总结

ECMAScript 2020 引入了 BigInts 和 Math,这些新功能可以帮助开发人员更轻松地处理大数和数学运算。但是,需要注意的是,BigInts 不能与普通的 Number 进行混合运算。如果需要进行混合运算,需要将 Number 转换为 BigInt。

在实际开发中,我们可以根据自己的需求选择使用这些新功能,以提高代码的可读性和可维护性。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6613a01bd10417a222416a57