美文网首页
Constructor和其中的super

Constructor和其中的super

作者: Sccong | 来源:发表于2017-02-24 21:45 被阅读0次

Constructor

constructor 是和 class 一起用来创建和初始化对象的特殊方法。--mdn

class Point {
  constructor(x, y) {
    this.x = x;
    this.y = y;
  }
}

super

super用来继承父类的构造函数或者拿来调用父类的方法

class Cat { 
  constructor(name) {
    this.name = name;
  }
  
  speak() {
    console.log(this.name + ' makes a noise.');
  }
}

class Lion extends Cat {//Lion继承了Cat
  speak() {
    super.speak();//拿来调用父类中的方法
    super(name);//拿来继承父类中的构造函数
    console.log(this.name + ' roars.');//如果不使用super就在子类的constructor中调用this会报错,找不到this
  }
}
  • 在下图中可以看到,要使用super继承父类的构造器,才能在new的时候,同时使用父类和子类的构造函数。


    example

小节:super一般有两种方法

  • super(a,b):作为函数调用,作用:继承父类的构造函数
  • super.speak():作为对象调用,作用:调用父类中的函数

相关文章

网友评论

      本文标题:Constructor和其中的super

      本文链接:https://www.haomeiwen.com/subject/ucxgwttx.html