返回

用人话解释 JavaScript 中的类和实例,让你秒懂

前端

类和实例:一个比喻

我们可以把类比作一个蓝图,而实例则是根据蓝图建造的房子。

  • 类定义了对象的属性和方法。
  • 实例是类的具体表现形式,它具有类的所有属性和方法。

举个例子,我们可以定义一个名为 Person 的类,它具有 nameage 两个属性,以及 greet()introduce() 两个方法。

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

  greet() {
    console.log(`Hello, my name is ${this.name}!`);
  }

  introduce() {
    console.log(`My name is ${this.name} and I am ${this.age} years old.`);
  }
}

现在,我们可以使用 Person 类来创建实例。

const person1 = new Person('John', 30);
const person2 = new Person('Mary', 25);

person1.greet(); // Hello, my name is John!
person2.introduce(); // My name is Mary and I am 25 years old.

构造函数

构造函数是类的一部分,当我们创建实例时,构造函数会自动执行。

构造函数的作用是初始化实例的属性和方法。

在上面的示例中,Person 类的构造函数有两个参数:nameage

当我们创建 person1person2 实例时,构造函数会自动执行,并将 nameage 的值赋给实例的属性。

继承

继承允许我们创建一个新的类,它具有另一个类的所有属性和方法。

举个例子,我们可以创建一个名为 Student 的类,它继承了 Person 类。

class Student extends Person {
  constructor(name, age, school) {
    super(name, age);
    this.school = school;
  }

  study() {
    console.log(`${this.name} is studying.`);
  }
}

现在,我们可以使用 Student 类来创建实例。

const student1 = new Student('John', 30, 'Harvard');

student1.greet(); // Hello, my name is John!
student1.introduce(); // My name is John and I am 30 years old.
student1.study(); // John is studying.

总结

类和实例是 JavaScript 中非常重要的概念。

  • 类定义了对象的属性和方法。
  • 实例是类的具体表现形式,它具有类的所有属性和方法。
  • 构造函数是类的一部分,当我们创建实例时,构造函数会自动执行。
  • 构造函数的作用是初始化实例的属性和方法。
  • 继承允许我们创建一个新的类,它具有另一个类的所有属性和方法。

掌握这些概念,你将能够编写更清晰、更可维护的代码。