我创建了自己的es6 mixin(可以,是的!)。但是,似乎我不完全了解自己在这里创建的内容(以下示例here):
export var EventEmitterMixin = (daSuperClass) => class extends daSuperClass {
}
我如何阅读这一行代码?看来daSuperClass只是cru琐(因为我显然可以将其更改为我喜欢的任何内容)?为什么在那里有两次?
最佳答案
在定义函数时,您需要给参数起一个名字,以便您可以引用它们。如果不使用粗箭头语法进行重写,则可能更容易了解发生了什么:
export var EventEmitterMixin = function(daSuperClass) {
return class extends daSuperClass {
[...]
}
}
因此,您的mixin接受的参数将构成您要创建的新类的原型。您可以通过从提供的基类中“扩展”来混合使用其他功能。
关于javascript - 了解es6 mixin父类(super class)约定,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37214142/