react——super()函数
super()函数,constructor(props),需要使用super()继承父类的属性,同时创建this(子类本身没有this);
所以super(props)的作用就是在父类的构造函数中给props赋值一个对象this.props=props这样就能在它的下面定义你要用到的属性了。
子类 必须 在 constructor( )
调用 super( )
方法,否则新建实例时会报错
因为子类是没有自己的 this
对象的,它只能继承自父类的 this
对象,然后对其进行加工,而super( )
就是将父类中的this对象继承给子类的。没有 super
,子类就得不到 this
对象,没有 this
对象而要对 this
进行处理,能不报错吗?
在class方法中继承是使用extends来实现的,
另外:当我写new的时候代码里做了什么:
当一个构造函数前加上new的时候,背地里来做了四件事:
1.生成一个空的对象并将其作为 this;
2.将空对象的 __proto__
指向构造函数的 prototype
;
3.运行该构造函数;
4.如果构造函数没有 return 或者 return 一个返回 this 值是基本类型,则返回this;如果 return 一个引用类型,则返回这个引用类型。