在看 Nicholas C. Zakas 写的《深入理解ES6》第198页,关于类的继承中,有下面一段话:
如果不想调用 super() ,则唯一的方法是让类的构造函数返回一个对象。
这里说的返回一个对象是什么意思?是父类的构造函数返回一个对象还是子类的构造函数返回一个对象?
我父类和子类都试过返回一个对象,但是在子类中不调用 super() 依然会报错 Must call super constructor in derived class before accessing 'this' or returning from derived constructor 的错误。
class A {
constructor () {
return {}
}
sayName () {
console.log(this.name)
}
}
class B extends A {
constructor () {
this.name = 'test'
}
}
相关分类