我创建了自己的es6 mixin(它有效,是的!)。但是,似乎我并不完全理解我在这里创建的内容(以下示例here):
export var EventEmitterMixin = (daSuperClass) => class extends daSuperClass {
}
我如何阅读这行代码?似乎daSuperClass只是愚蠢的(因为我可以明显地将它改为我喜欢的任何东西)?为什么会在那里两次?
答案 0 :(得分:1)
定义函数时,需要为参数指定名称,以便引用它们。如果没有使用fat-arrow语法重写它会更容易看到它会发生什么:
export var EventEmitterMixin = function(daSuperClass) {
return class extends daSuperClass {
[...]
}
}
因此,mixin采用的参数将构成您正在创建的新类的原型。您可以通过扩展'来混合您的额外功能。来自您提供的基类。