在看 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' }}
ES6的class繼承中,如果不想調用super(),則唯一的方法是讓類的構造函數返回一個對象
長風秋雁
2019-02-26 17:58:09