JavaScript 继承是一种强大的特性,它允许我们创建可重用的代码,并使对象之间共享属性和方法。下面是一些关于 JavaScript 继承的基础知识。
什么是继承?
继承是面向对象编程中的一个核心概念,它允许一个对象(子类)继承另一个对象(父类)的属性和方法。这样,我们可以避免重复代码,并使代码更加模块化。
基于原型的继承
在 JavaScript 中,继承通常是通过原型链实现的。每个对象都有一个原型(prototype
)属性,它指向其构造函数的原型对象。
function Animal(name) {
this.name = name;
}
Animal.prototype.sayName = function() {
console.log(this.name);
};
function Dog(name, breed) {
Animal.call(this, name);
this.breed = breed;
}
Dog.prototype = new Animal();
Dog.prototype.sayBreed = function() {
console.log(this.breed);
};
在上面的例子中,Dog
构造函数通过调用 Animal.call(this, name)
来继承 Animal
的属性和方法。然后,我们将 Animal
的原型设置为 Dog
的原型,这样 Dog
的实例就可以访问 Animal
的原型方法。
类式继承
ES6 引入了 class
关键字,这使得类式继承变得更加直观。
class Animal {
constructor(name) {
this.name = name;
}
sayName() {
console.log(this.name);
}
}
class Dog extends Animal {
constructor(name, breed) {
super(name);
this.breed = breed;
}
sayBreed() {
console.log(this.breed);
}
}
在这个例子中,Dog
类通过 extends
关键字继承自 Animal
类。
扩展阅读
如果你想要了解更多关于 JavaScript 继承的知识,可以阅读本站的 JavaScript 类和继承。
JavaScript 继承