1 下面的B.prototype.compile方法中,无法访问super
class A {compile() {console.log('A')}
}class B extends A {compile() {super.compile()console.log('B')}
}B.prototype.compile = function() {super.compile() // 报错,不可以在此处使用superconsole.log('B2')
} const b = new B()
b.compile() // A B2
2 替代方法如下
class A {compile() {console.log('A')}
}class B extends A {compile() {super.compile()console.log('B')}
}B.prototype.compile = function() {A.prototype.compile.call(this) // 替代superconsole.log('B2')
} const b = new B()
b.compile() // A
// B2