2016-03-16 2 views
0

Вместо использования:Используя класс расширяет вместо 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?

ответ

Смежные вопросы