Spider通过添加2个关键字extends
和super
来接受JavaScript原型OOP。
答案 0 :(得分:3)
extends
关键字允许您继承现有对象。例如,假设您有一个Animal
对象:
fn Animal(name) {
this.name = name;
this.walk = fn() {
console.log('\(name) is walking...');
};
}
Animal.prototype.getLegs = fn() {
return 4;
};
您现在可以使用extends关键字创建另一个继承Animal
的对象:
fn Spider(name)
extends Animal(name) {
}
Spider.prototype.getLegs = fn() {
return 8;
};
当您创建新的Spider
对象时,您将自动拥有walk
方法,因为Spider
扩展了Animal
。
var spider = new Spider("Skitter the Spider");
spider.walk();
Spider(该语言)还提供super
关键字,可让您轻松访问要扩展的对象。例如:
Spider.prototype.getLegs = fn() {
return super.getLegs() + 4;
};
spider.getLegs(); // => 8
Spider中的代码:
fn Spider() extends Animal {}
编译为以下JavaScript:
function Spider() {
Animal.call(this);
}
Spider.prototype = Object.create(Animal);