classA{constructor(){console.log('A has been instantiated',this)}staticcolor='red'counter=0onClick(){console.log('A onClick')}}classBextendsA{// default: constructor(...args) { super(...args); }
constructor(){super()this.test=this.test.bind(this)console.log('B has been instantiated, ',this)}test(){console.log('B test',this)}}classCextendsB{constructor(){super()this.test=this.test.bind(this)console.log('C has been instantiated, ',this)}test(){super.test()// 等同於B.test.call(this)
console.log('C test',this)}}newC().test()