类继承
继承的工作方式与其他面向对象的语言一样:在超类中定义的方法可以在扩展子类中访问。
如果子类声明它自己的构造函数,那么它必须通过 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"