Ваш код вводит в заблуждение. Вы используете термин oConstr
, когда это не функция конструктора.
oProto -> EventEmitter.prototype -> Object.prototype -> null
oProto2 -> oProto -> EventEmitter.prototype -> Object.prototype -> null
var temp = new EventEmitter;
oConstr -> temp -> EventEmitter.prototype -> Object.prototype -> null
oConstr2 -> oConstr -> etc
Единственное отличие состоит в том, что temp
- это не просто объект, который наследуется от EventEmitter
, он также имеет собственные свойства, дополненные вызовом EventEmitter.constructor.call(temp)
.
Я бы лично порекомендовал вам использовать EventEmitter.prototype
и игнорировать new EventEmitter
Лично я никогда не наследую от EventEmitter
, Я смешиваю это в