注意:ECMAScript 是 JavaScript 所基于的标准,由 TC39 委员会管理。ECMAScript 始终是一个不需要的名称,这会使一切都对初学者感到困惑。人们经常谈论 JavaScript 功能,但参考的是 ECMAScript 规范。
更新特性
- 数字分隔符(
_
) - 逻辑分配(
&&=
,||=
,??=
) - 引用不足(
WeakRef
和FinalizationRegistry
) - 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: