新手小白的一个问题,请高手指教
为什么会报这个错,我有那个模块的啊
6 回复
Account.prototype = new events.EventEmitter();
直接用es6的class继承吧
@Yu1989 这是新的添加方式吗,我这是我买的一本书上的的代码,是过时了吗?我的nodejs 版本是4.4的
@dengwl 不是_proto_
而是__proto__
:)
@dengwl
Account.prototype.__proto__ = EventEmitter.prototype
配合上EventEmitter.call(this, arguments)
基本等价于Account.prototype = new EventEmitter()
.
两种方式构建的Account
类新建的对象的属性和方法是一致的. 但只有前者继承了父类构造函数中所有的side effects. 假设EventEmitter
的构造函数中log了一句话, 前者会同样log出来, 后者不会.
有说错的地方还请大家指正.
node4版本开启严格模式后是兼容ES6对象语法的。