如果我定義了兩個類如下...有沒有一種方法,以保持相對於子超?
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