📜  javascript 类构造函数 - Javascript (1)

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

JavaScript 类构造函数

JavaScript 类构造函数是一种用于创建对象的特殊函数。它提供了一种定义对象属性和方法的模板,并可以通过实例化来创建具体的对象。

定义类构造函数

类构造函数的命名通常以大写字母开头,这是一种约定俗成的命名规范。

// 定义一个类构造函数
function Person(name, age) {
  this.name = name;
  this.age = age;
}

// 添加原型方法
Person.prototype.sayHello = function() {
  return "Hello, my name is " + this.name;
};

在上面的例子中,Person 是我们定义的类构造函数,接受两个参数 nameage。我们可以通过 this 关键字将这两个参数赋值给对象的属性。同时,我们也可以在原型对象上定义方法,这些方法将在实例化后的对象上共享。

实例化对象

要创建类的实例对象,我们可以使用 new 关键字调用类构造函数,并传递所需的参数。

// 创建一个 Person 对象实例
const person1 = new Person("Alice", 25);

上述代码中,person1 是一个 Person 类的实例对象,它拥有 nameage 这两个属性,以及 sayHello 方法。

访问属性和调用方法

通过点运算符或方括号运算符,我们可以访问类的实例对象的属性和方法。

// 访问属性
console.log(person1.name); // 输出:"Alice"
console.log(person1["age"]); // 输出:25

// 调用方法
console.log(person1.sayHello()); // 输出:"Hello, my name is Alice"
继承

JavaScript 类构造函数也支持继承的概念。我们可以使用 extends 关键字创建一个子类。

// 定义一个子类构造函数
function Student(name, age, major) {
  // 调用父类的构造函数
  Person.call(this, name, age);
  this.major = major;
}

// 继承父类原型方法
Student.prototype = Object.create(Person.prototype);

// 添加子类自己的方法
Student.prototype.getMajor = function() {
  return "My major is " + this.major;
};

在上面的例子中,Student 是从 Person 类继承而来的子类。我们通过调用 Person.call(this, name, age) 来在子类构造函数中调用父类构造函数,以实现属性的继承。然后,我们通过 Object.create(Person.prototype) 将父类原型对象赋值给子类的原型对象,以实现方法的继承。

总结

通过 JavaScript 类构造函数,我们可以定义对象的模板并创建实例对象。类构造函数可以包含属性和方法,同时也支持继承的特性。这为我们提供了一种面向对象的编程方式,使得代码更加可复用和可维护。