我问,因为我在这里看到了:
https://github.com/bengrunfeld/react-flux-simple-app/blob/master/src/js/stores/AppStore.js
var AppStore = assign({}, EventEmitter.prototype, {
emitChange: function() {
this.emit(CHANGE_EVENT);
}
});
我理解为什么要分配EventEmitter
原型,我们需要EventEmitter
的所有功能;我们分配的最后一个对象是覆盖emitChange
事件。但为什么第一个参数是一个空对象({}
)?这有必要吗?我已经看过几次了。
答案 0 :(得分:2)
这是由于assign方法的语法,它将您想要从第二个对象放置方法的对象作为第一个参数。您可以将它与现有对象一起使用,但如果您没有传递一个新的空对象{},请在此处复制所有方法和属性并将其返回修改。
看看这个: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign