目录

JavaScript class constructor()


示例

创建一个Car类,然后根据Car类创建一个名为"mycar"的对象:

class Car {
  constructor(brand) {  // Constructor
    this.carname = brand;
  }
}
mycar = new Car("Ford");

亲自试一试 »

下面有更多 "亲自试一试" 示例。


描述

这个constructor()method 是用于创建和初始化在类中创建的对象的特殊方法。

这个constructor()方法在类启动时自动调用,并且它必须具有确切的名称"constructor",事实上,如果没有构造函数方法,JavaScript 将添加一个不可见且空的构造函数方法。

笔记:一个类不能有多个 constructor() 方法。这会抛出一个SyntaxError

您可以使用super()方法来调用父类的构造函数(参见下面的"More Examples")。


浏览器支持

constructor()是 ECMAScript6 (ES6) 功能。

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

Chrome Edge Firefox Safari Opera
Yes Yes Yes Yes Yes

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


语法

constructor( parameters)

技术细节

JavaScript 版本: ECMAScript 2015 (ES6)

更多示例

要创建类继承,请使用extends关键字。

使用类继承创建的类会继承另一个类的所有方法:

示例

创建一个名为 "Model" 的类,它将继承 "Car" 类的方法:

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()方法指的是父类。

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


相关页面

JavaScript 教程:JavaScript 类

JavaScript 教程:JavaScript ES6 (EcmaScript 2015)

JavaScript 参考:扩展关键字

JavaScript 参考:超级关键字