JavaScript Class constructor 方法
实例
创建一个 Car 类,然后基于这个 Car 类创建一个名为 "mycar" 的对象:
<!DOCTYPE html><html><body><h2>JavaScript 类</h2><p>在这个例子中,我们演示了一个简单的类定义以及如何使用它。</p><p id="demo"><script>class Car {constructor(brand) {this.carname = brand;}}mycar = new Car("Tesla");document.getElementById("demo").innerHTML = mycar.carname;</script></body></html>
定义和用法
constructor() 方法是一种特殊的方法,用于创建和初始化在类中创建的对象。
当初始化类时,constructor() 方法会被自动调用,并且它必须使用确切的名称 "constructor",实际上,如果您没有构造方法,JavaScript 将添加一个不可见的空构造方法。
注意:一个类不能使用多个 constructor() 方法。这将抛出 SyntaxError。您可以使用 super() 方法来调用父类的构造方法(请参见下面的更多实例)。
浏览器支持
| Method | |||||
|---|---|---|---|---|---|
| constructor() | 49.0 | 13.0 | 45.0 | 9.0 | 36.0 |
语法
constructor(parameters)
技术细节
| JavaScript 版本: | ECMAScript 2015 (ES6) |
|---|
更多实例
如需创建类继承,请使用 extends 关键字。
通过类继承创建的类将从另一个类继承所有方法:
实例
创建一个名为 "Model" 的类,它将继承 "Car" 类的方法:
<!DOCTYPE html><html><body><h2>JavaScript 类继承</h2><p>使用 “extends” 关键字从另一个类继承所有方法。</p><p>使用 “super” 方法调用父级的构造函数。</p><p id="demo"><script>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("Tesla", "Model3");document.getElementById("demo").innerHTML = mycar.show();</script></body></html>
super() 方法引用父类。
通过在构造方法中调用 super() 方法,我们将调用父类的构造方法,并可以访问父类的属性和方法。