JavaScript ES2021 最值得期待的 5 个新特性解析

2023-03-15 15:21:09 浏览数 (2)

在写本文时,本文提到的新的 JavaScript 提案功能已进入第 4 阶段,并且几乎肯定会包含在 ES2021 中。你已经可以开始在 最新版本的浏览器,Node.js 和 Babel 中使用。

注意:ECMAScript 是 JavaScript 所基于的标准,由 TC39 委员会管理。ECMAScript 始终是一个不需要的名称,这会使一切都对初学者感到困惑。人们经常谈论 JavaScript 功能,但参考的是 ECMAScript 规范。

更新特性

  • 数字分隔符(_
  • 逻辑分配(&&=||=??=
  • 引用不足(WeakRefFinalizationRegistry
  • Promise.any
  • String.prototype.replaceAll

1. 数值分隔符

大数字文字很难使人眼快速解析,尤其是当有很多重复的数字时:

代码语言:javascript复制
1000000000000   1019436871.42

为了提高可读性,新的 JavaScript 语言功能 启用了下划线作为数字文字中的分隔符。因此,上面的内容现在可以重写为每千位数字,例如:

代码语言:javascript复制
1_000_000_000_000    1_019_436_871.42

现在,更容易说出第一个数字是 1 万亿,而第二个数字大约是 10 亿。

数字分隔符有助于提高各种数字文字的可读性:

代码语言:javascript复制
// A decimal integer literal with its digits grouped per thousand:
1_000_000_000_000
// A decimal literal with its digits grouped per thousand:
1_000_000.220_720
// A binary integer literal with its bits grouped per octet:
0b01010110_00111000
// A binary integer literal with its bits grouped per nibble:
0b0101_0110_0011_1000
// A hexadecimal integer literal with its digits grouped by byte:
0x40_76_38_6A_73
// A BigInt literal with its digits grouped per thousand:
4_642_473_943_484_686_707n

它们甚至适用于八进制整数文字(尽管 我想不出 其中分隔符为此类文字提供值 的示例):

代码语言:javascript复制
// A numeric separator in an octal integer literal: 


	

0 人点赞