了解es6 mixin超类约定

时间:2016-05-13 15:40:26

标签: javascript ecmascript-6

我创建了自己的es6 mixin(它有效,是的!)。但是,似乎我并不完全理解我在这里创建的内容(以下示例here):

export var EventEmitterMixin = (daSuperClass) => class extends daSuperClass {
}

我如何阅读这行代码?似乎daSuperClass只是愚蠢的(因为我可以明显地将它改为我喜欢的任何东西)?为什么会在那里两次?

1 个答案:

答案 0 :(得分:1)

定义函数时,需要为参数指定名称,以便引用它们。如果没有使用fat-arrow语法重写它会更容易看到它会发生什么:

export var EventEmitterMixin = function(daSuperClass) {
  return class extends daSuperClass {
    [...]
  }
}

因此,mixin采用的参数将构成您正在创建的新类的原型。您可以通过扩展'来混合您的额外功能。来自您提供的基类。

相关问题