sourcecode here
function EventEmitter() {
this._events = this._events || {};
this._maxListeners = this._maxListeners || undefined;
}
我知道这是一个构造函数,每次创建一个实例时,构造函数中的2行代码执行一次,我的问题是:
为什么this._events = this._events || {}
;
我认为this._events = {};
就足够了
_maxListeners
相同的谜题
让我更困惑的是以下几点:
EventEmitter.prototype._events = undefined;
EventEmitter.prototype._maxListeners = undefined;
为什么我们必须将属性设置为undefined