【发布时间】:2020-10-01 21:25:14
【问题描述】:
我想将一个类引用定义传递给一个函数。然后该函数应该使传递的类 ref 扩展另一个类。这是一个例子。我希望看到console.log 输出“根构造函数”,但它不会因为InputClass 被extends 行覆盖。
class Root {
constructor(){
console.log('Root constructor');
}
}
function decorateClass(InputClass){
class InnerClass {
constructor(){
}
}
// should extend InputClass but not override
return class InputClass extends InnerClass{}
}
var ExtendedClass = decorateClass(Root);
var ec = new ExtendedClass();
// Should log 'Root constructor'
【问题讨论】:
-
类大多只是函数和原型的语法糖。如果您想动态地进行更改,请通过操作原型来实现。
-
这是一个非常相似的问题:stackoverflow.com/questions/42599560/…
标签: javascript class ecmascript-6 javascript-inheritance