📜  ES6:使用类语法定义构造函数 - Javascript (1)

📅  最后修改于: 2023-12-03 15:30:38.637000             🧑  作者: Mango

ES6:使用类语法定义构造函数 - Javascript

在ES6之前,定义构造函数需要使用函数声明或函数表达式,使它们成为对象构造函数。ES6引入了一种新的语法形式:类,它使用类语法定义了对象构造函数。

类语法形式

使用类语法定义构造函数的语法如下:

class ClassName {
  constructor() {
    // 构造函数代码
  }

  // 方法定义
  methodName() {
    // 方法代码
  }

  // 其他方法...
}
构造函数

使用类语法定义构造函数必须使用constructor方法。它在创建类实例时自动调用,用于初始化类属性和执行其他初始化代码。例如:

class Person {
  constructor(name) {
    this.name = name;
  }

  sayHello() {
    console.log(`Hello, ${this.name}!`);
  }
}

const person = new Person("John");
person.sayHello(); // 输出 "Hello, John!"
类方法

可以在类中定义方法来扩展类的功能。这些方法可以在类实例上调用。例如:

class Person {
  constructor(name) {
    this.name = name;
  }

  sayHello() {
    console.log(`Hello, ${this.name}!`);
  }

  static listPeople(people) {
    people.forEach(person => {
      console.log(person.name);
    });
  }
}

const person1 = new Person("John");
const person2 = new Person("Jane");

person1.sayHello(); // 输出 "Hello, John!"
person2.sayHello(); // 输出 "Hello, Jane!"

Person.listPeople([person1, person2]); // 输出 "John" 和 "Jane"
静态方法

使用static关键字定义的方法称为静态方法。它们不在类实例上可用,而只能在类本身上调用。例如:

class MathUtils {
  static add(a, b) {
    return a + b;
  }
}

console.log(MathUtils.add(1, 2)); // 输出 3
总结

使用类语法定义构造函数是ES6提供的更便捷、更简单的定义全新对象的方式。通过定义构造函数和类方法,可以更方便地实现面向对象编程范式。