返回

ES2022 新增 ECMAScript Class 特性大盘点

前端

ES2022 为 ECMAScript Class 新增了下表中所的特性:

特性
字段 字段是类的实例属性。它们可以使用 public、private 或 protected 修饰。
静态字段 静态字段是类的静态属性。它们可以使用 static 关键字修饰。
公共字段 公共字段是类的公共属性。它们可以使用 public 关键字修饰。
私有字段 私有字段是类的私有属性。它们可以使用 private 关键字修饰。
受保护字段 受保护字段是类的受保护属性。它们可以使用 protected 关键字修饰。
构造函数 构造函数是类的构造函数。它用于初始化类的实例。
方法 方法是类的实例方法。它们可以使用 public、private 或 protected 关键字修饰。
getter getter 是类的实例 getter。它用于获取类的实例属性的值。
setter setter 是类的实例 setter。它用于设置类的实例属性的值。

这些新特性可以帮助我们编写更简洁、更易读和更易维护的 JavaScript 代码。例如,我们可以使用字段来声明类的属性,而无需使用 constructor() 方法。我们也可以使用静态字段来声明类的静态属性,而无需使用类名.property() 方法。

class Person {
  #name;

  constructor(name) {
    this.#name = name;
  }

  get name() {
    return this.#name;
  }

  set name(name) {
    this.#name = name;
  }
}

const person = new Person('John Doe');

console.log(person.name); // 'John Doe'

person.name = 'Jane Doe';

console.log(person.name); // 'Jane Doe'

在上面的示例中,我们使用 #name 声明了一个私有字段。我们还使用 getter 和 setter 来访问和设置私有字段的值。这使得我们的代码更简洁和更易读。

ES2022 为 ECMAScript Class 带来的新特性非常强大。它们可以帮助我们编写更简洁、更易读和更易维护的 JavaScript 代码。