EventEmitterの継承方法の備忘録。ES5の場合。
ES5の場合
ES5継承(util.inherits使用)
var util = require("util");
var EventEmitter = require("events").EventEmitter;
function MyClass() {
EventEmitter.call(this);
}
util.inherits(MyClass, EventEmitter);
MyClass.prototype.doSomething = function(data) {
this.emit("doSomething", data);
}
ES5継承(util.inherits未使用)
var EventEmitter = require("events").EventEmitter;
function MyClass() {
EventEmitter.call(this);
}
MyClass.prototype = Object.create(EventEmitter.prototype);
MyClass.prototype.doSomething = function(data) {
this.emit("doSomething", data);
}
ES6の場合
ES6継承
var EventEmitter = require("events").EventEmitter;
class MyClass extends EventEmitter
{
// 省略可
constructor(){
super();
}
doSomething(data){
this.emit("doSomething", data);
}
}
ES6は便利だな。。