如果我定义了两个类如下...有没有一种方法,以保持相对于子超?
class A {
getParentInstance(...args) {
return new super.constructor(...args);
}
}
class B extends A {}
console.log((new B).getParentInstance().constructor.name);
Object
登录到控制台,而不是我所希望的A
。这是由于在super
引用A.prototype.getParentInstance
的A
超类具体是Object
。这是相对于可替换地,这将是super
是相对于在原型链中的电流电平 - 用于B
这将是A
。
我的问题是:有没有一种方法来定义方法,以便在继承时在原型链的每个级别使用超级相对?有效地导致...
(new B).getParentInstance().constructor.name === 'A'
像这样的工厂方法通常是静态的... – Alnitak