1.
const EventEmitter = require('events').EventEmitter; class Test extends EventEmitter { constructor(msg) { super(); this.on('test', function (data) { this.print('Testing..') }); } print(msg) { console.info(msg) } } new Test('Hi').emit('test');
2.
const EventEmitter = require('events').EventEmitter; var util = require('util'); class Test { constructor(msg) { this.on('test', function (data) { this.print('Testing..') }); } print(msg) { console.info(msg) } } util.inherits(Test, EventEmitter); new Test('Hi').emit('test');