Вместо использования:Используя класс расширяет вместо util.inherits
var inherits = require('util').inherits;
var EventEmitter = require('events').EventEmitter;
var Clock = function Clock() {
this._started = false;
EventEmitter.call(this);
};
inherits(Clock, EventEmitter);
Clock.prototype.start = function start() {};
Использование класса простирается намного чище, имхо:
var EventEmitter = require('events').EventEmitter;
class Clock extends EventEmitter {
constructor() {
super();
this.super_ = EventEmitter;
this._started = false;
}
start() {}
}
Я добавил this.super_ = EventEmitter конструктору, просто потому, что util.inherits делает то же самое (ctor.super_ = superCtor;). Я пробовал без него, и похоже, что он работает без этого.
Теперь мой вопрос: есть ли свойство super_, используется ли оно каким-то образом Узлом? Или существует ли проблема с расширением ES6 вместо «Node's way» наследования с util.inherits?
Thx, имеет смысл. –