ES6+ 面试题
目录

ES13 (ES2022) 中新增了哪些特性?

· 约 4 分钟读完 · 第 117 / 142 章

推荐答案

ES13(ES2022)中新增的主要特性包括:

  1. Top-level await:允许在模块的顶层使用 await,无需包裹在 async 函数中。
  2. Class Field Declarations:支持在类中直接声明字段,无需在构造函数中初始化。
  3. Private Methods and Fields:支持在类中定义私有方法和字段,使用 # 前缀。
  4. Static Class Fields and Methods:支持在类中定义静态字段和方法。
  5. Ergonomic Brand Checks for Private Fields:提供更简洁的方式来检查私有字段是否存在。
  6. Array.prototype.at():允许通过索引访问数组元素,支持负索引。
  7. Object.hasOwn():提供更简洁的方式来检查对象是否拥有某个属性。
  8. Error Cause:允许在创建错误时指定原因,便于调试。

本题详细解读

1. Top-level await

在 ES13 之前,await 只能在 async 函数中使用。ES13 允许在模块的顶层直接使用 await,简化了异步代码的编写。

2. Class Field Declarations

ES13 允许在类中直接声明字段,无需在构造函数中初始化。

3. Private Methods and Fields

ES13 引入了私有方法和字段,使用 # 前缀表示。

4. Static Class Fields and Methods

ES13 支持在类中定义静态字段和方法。

5. Ergonomic Brand Checks for Private Fields

ES13 提供了更简洁的方式来检查私有字段是否存在。

6. Array.prototype.at()

Array.prototype.at() 方法允许通过索引访问数组元素,支持负索引。

7. Object.hasOwn()

Object.hasOwn() 方法提供更简洁的方式来检查对象是否拥有某个属性。

8. Error Cause

ES13 允许在创建错误时指定原因,便于调试。