目录

JavaScript class super


描述

这个super关键字用于调用其父类的构造函数来访问父类的属性和方法。

提示:要更好地理解 "inheritance" 概念(父类和子类),请阅读我们的JavaScript 类教程


示例

创建一个名为 "Model" 的类,该类将从 "Car" 类继承方法,方法是使用extends关键字。

通过致电super()在构造函数方法中,我们调用父级的构造函数并访问父级的属性和方法:

class Car {
  constructor(brand) {
    this.carname = brand;
  }
  present() {
    return 'I have a ' + this.carname;
  }
}

class Model extends Car {
  constructor(brand, mod) {
    super(brand);
    this.model = mod;
  }
  show() {
    return this.present() + ', it is a ' + this.model;
  }
}

mycar = new Model("Ford", "Mustang");
document.getElementById("demo").innerHTML = mycar.show();

亲自试一试 »


浏览器支持

super是 ECMAScript6 (ES6) 功能。

所有现代浏览器都支持 ES6 (JavaScript 2015):

Chrome Edge Firefox Safari Opera
Yes Yes Yes Yes Yes

superInternet Explorer 11(或更早版本)不支持。


语法

super( arguments);  // calls the parent constructor (only inside the constructor)
super. parentMethod( arguments);  // calls a parent method

技术细节

JavaScript 版本: ECMAScript 2015 (ES6)

相关页面

JavaScript 教程:JavaScript 类

JavaScript 教程:JavaScript ES6 (EcmaScript 2015)

JavaScript 参考:扩展关键字

JavaScript 参考:构造函数()方法