假设我有以下内容:
class ThingWithWheels {
constructor( numWheels ) {
this.numWheels = numWheels
}
toString() {
return this.constructor.name;
}
}
class Car extends ThingWithWheels {
constructor( color ) {
super(4);
this.color = color;
}
toString() {
return `${this.color} ${super.toString()}`;
}
}
这是非常标准的面向对象编程。但是,在NodeJS v5.6.0中,如果我制作一辆红色汽车并拨打toString()
,它将提供Red ThingWithWheels
,而不是Red Car
。当我调用超级方法时,它会将this
视为ThingWithWheels
而不是Car
。
答案 0 :(得分:0)
我刚刚在node.js 5.10.1中尝试了这个,它给了我" Red Car",所以它可能是5.6中的一个错误。