Javascript - 通过原型访问'super'关键字



我想通过原型属性覆盖类方法,但我无法访问"super"关键字。

class A {
foo(){
console.log('foo-foo');
}
}
class B extends A {}
B.prototype.foo = function(){ super.foo() }
// Uncaught SyntaxError: 'super' keyword unexpected here
// what I want:
const b = new B();
b.foo(); // foo-foo

这里的动机是从单独的文件中导入新的 b.foo,因为它很长,但仍然可以访问 A 的方法 foo。

您不能在类外使用super。 对不起,语言就是这样。你可以用Object.getPrototypeOf(B.prototype)替换超级.但是我会首先认真考虑将一个类拆分到多个文件中。

最新更新