我發現Object.assign的一個有趣的用例通量的文檔中,例如調度員在其體系結構:爲什麼分配原型本身
var assign = require('object-assign');
var _callbacks = [];
var Dispatcher = function() {};
Dispatcher.prototype = assign({}, Dispatcher.prototype, {
register: function(callback) {
_callbacks.push(callback);
return _callbacks.length - 1; // index
}
});
來源:http://facebook.github.io/flux/docs/todo-list.html#creating-a-dispatcher
什麼是分配的原因擴展原型到同一個對象的原型?
如果你這樣做,它不會修改在分配完成之前用「new Dispatcher()」創建的對象的原型。我想它遵循「不變性」-idea,也保留原始原型函數,這裏的小測試http://jsfiddle.net/uxfr8bea/ –