Skip to content

ES2021(ES12)

ECMAScript 2021,也称为 ES2021 或 ES12,是 JavaScript 语言标准的 2021 年版本。虽然相较于之前的版本,ES2021 的新增特性相对较少,但仍然包含了一些实用的改进和功能增强。以下是 ES2021 中的一些主要新增特性:

1. Logical Assignment Operators (&&= and ||=)

  • 逻辑赋值操作符允许你结合逻辑 AND (&&) 或 OR (||) 和赋值操作。例如,x ||= y 相当于 x = x || y,但更简洁。

2. String.prototype.matchAll

  • matchAll 方法类似于 match,但返回一个迭代器,该迭代器会产生所有匹配正则表达式的子串,包括非全局模式下的所有匹配。

3. Promise.any and AggregateError

  • Promise.any 接受一个 Promise 数组,当其中任何一个 Promise 解析时,它会立即解析。如果所有 Promise 都被拒绝,则会拒绝 Promise.any,并使用一个新的 AggregateError 对象,其中包含所有拒绝的原因。

4. WeakRefs

  • WeakRef 是一个构造函数,用于创建弱引用,这使得垃圾回收器可以自由地回收被弱引用的对象,即使还有对该对象的引用存在。这可以防止内存泄漏,并且在实现某些类型的数据结构和模式时非常有用。

5. Realms

  • Realms 提供了一种机制来隔离和管理独立的执行环境,这对于沙盒环境和插件系统等场景非常有用。

6. Numeric Separators

  • 虽然数字分隔符在 ES2018 中已经被提出,但在 ES2021 中,这种语法扩展到了八进制和十六进制数字字面量,使得大数的表示更加清晰。

7. String.prototype.replaceAll

  • replaceAll 方法类似于 replace,但会替换字符串中所有匹配的子串,而不仅仅是第一个匹配。

这些新特性进一步增强了 JavaScript 的表达能力和功能性,使得开发人员能够以更简洁、更安全的方式编写代码。随着浏览器和 JavaScript 运行时环境对这些特性的支持,开发者可以开始在实际项目中利用这些新功能。

Released under the MIT License.