ES6基础-constructor与super

时间仓促,抱歉抱歉

super指向的是 父类的constructor,

子类中constructor的super中的属性本质指的是父类的constructor内定义的属性

子类的constructor中写入super的本质是在子类内部调用父类的constructor中的属性,该属性是由子类自由导入的

子类必须在constructor中调用super方法,否则报错,这是由于子类没有自己的this对象,而是继承父类的this对象,如果不调用super方法,子类得不到自己的this对象

ES5的继承,实质是先创造子类的实例对象this,然后再将父类的方法添加到this上面(Parent.apply(this))

ES6的继承,实质是先创造父类的实例对象this(所以必须先调用super方法),然后再用子类的构造函数修改this。

-----------------------》! extends与super总是成对出现的,子类中的super返回父类实例,必须在super之后 才能使用this关键字,这是由于子类实例的创建是基于对父类实例进行的加工

参考于 http://caibaojian.com/es6/class.html

作者:致爱丽丝
本文版权归作者和博客园共有,欢迎转载,但必须在文章页面给出原文链接并标名原文作者,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/hjk1124/p/14679731.html