猿问
JAVA中使用this之前为什么必须要调用super()?
继承只是原形链的语法糖,看了几次babel转出来的代码,还是没有明白为什么必须先调用super?大神能从原理上解释解释吗
慕森卡
浏览 786
回答 2
2回答
胡说叔叔
标准是这么规定的,子类实例的构建,基于父类实例,必须调用super之后,才可以使用this关键字,否则会报错。进一步解释如果es6继承仅仅是原型继承,那就不需要调用super了,但实际上不是。当你创建一个对象的时候,子对象实例会继承父对象实例属性和方法,而这个步骤的实现是super构造函数完成的,大致实现如下。Object.getPrototypeOf(子类).call(子类this,...params)
0
0
0
随时随地看视频
慕课网APP
相关分类
JavaScript
我要回答