继承的工作方式与其他面向对象的语言相同:在超类上定义的方法可在扩展子类中访问。
如果子类声明了自己的构造函数,则它必须先通过调用父构造函数,super()然后才能进行访问this。
class SuperClass {
constructor() {
this.logger= console.log;
}
log() {
this.logger(`Hello ${this.name}`);
}
}
class SubClass extends SuperClass {
constructor() {
super();
this.name= 'subclass';
}
}
const subClass = new SubClass();
subClass.log(); // logs: "Hello subclass"