继承EventEmitter的子类中,this未定义?
 发布于 9 年前  作者 isky0824  4109 次预览  最后一次回复是 9 年前  来自 问答 

“use strict”; var EventEmitter = require(‘events’); class Rectangle extends EventEmitter { constructor (width, height) { this._width = width this._height = height } set width (width) { this._width = width } get width () { return this._width } set height (height) { this._height = height } get height () { return this._height } get area () { return this._width * this._height } } var r = new Rectangle(50, 20); 运行上面代码的时候,已知提示this未定义,把extends EventEmitter注释掉之后,就正常了,这是为何?

3 回复
ChopperLee2011

你忘记了super();

isky0824

@ChopperLee2011 这个要怎么做?我新手,求指教,谢谢!

isky0824

@ChopperLee2011 问题已解决,在constructor 函数里的第一行添加super();就可以了,谢谢!