JavaScript 构造函数:创建实例并管理继承124


什么是构造函数?

在 JavaScript 中,构造函数是一个特殊类型的函数,用于创建新对象。它与普通函数不同,因为它以大写字母开头,并且在实例化时使用 new 关键字调用。构造函数的主要目的是为新创建的对象定义属性和方法。

如何定义构造函数?

以下是如何在 JavaScript 中定义构造函数:
function Person(name, age) {
= name;
= age;
= function() {
(`Hello, my name is ${} and I am ${} years old.`);
};
}

此示例构造函数定义了一个 Person 类,它包含 name 和 age 属性,以及一个 greet 方法,用于打印欢迎信息。name 和 age 是实例的私有属性,只能通过方法访问。

如何使用构造函数?

要使用构造函数创建新对象,请使用 new 关键字,如下所示:
const person1 = new Person("John", 30);

此代码创建一个新的 Person 实例,并将其存储在 person1 变量中。new 关键字调用构造函数并创建一个与构造函数中定义的属性和方法关联的新对象。

构造函数的原型

每个构造函数都有一个原型对象,该对象包含该构造函数创建的所有实例共享的方法和属性。可以通过构造函数的 prototype 属性访问原型对象。
= function() {
(`Howdy!`);
};

此代码向 Person 构造函数的原型添加了 sayHello 方法,这表示所有 Person 实例现在都可以访问此方法。

继承

JavaScript 使用原型链实现继承。这意味着子构造函数可以继承父构造函数的属性和方法。要创建子构造函数,请使用 extends 关键字:
class Employee extends Person {
constructor(name, age, salary) {
super(name, age);
= salary;
}
work() {
(`I'm working!`);
}
}

此示例创建了一个 Employee 构造函数,它继承了 Person 构造函数的属性和方法,并添加了 salary 属性和 work 方法。当创建新 Employee 实例时,super() 调用将把执行传递给 Person 构造函数,以便可以设置 name 和 age 属性。

何时使用构造函数?

构造函数对于以下情况很有用:
当您需要创建具有私有属性和方法的可重用对象时。
当您需要创建对象的层次结构时。
当您需要管理对象的继承时。


JavaScript 构造函数是创建和管理对象的有力工具。通过使用构造函数,您可以定义自定义类,具有私有属性和方法,还可以实现继承。理解构造函数的原理对于构建健壮且可维护的 JavaScript 应用程序至关重要。

2024-11-30


上一篇:JavaScript 关键字:操控代码流的基石

下一篇:JavaScript 数组排序