我创建了自己的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/

10-11 14:48