JavaScript Class constructor 方法

定義和用法

constructor() 方法是一種特殊的方法,用于創建和初始化在類中創建的對象。

當初始化類時,constructor() 方法會被自動調用,并且它必須使用確切的名稱 "constructor",實際上,如果您沒有構造方法,JavaScript 將添加一個不可見的空構造方法。

注意:一個類不能使用多個 constructor() 方法。這將拋出 SyntaxError

您可以使用 super() 方法來調用父類的構造方法(請參見下面的更多實例)。

實例

例子 1

創建一個 Car 類,然后基于這個 Car 類創建一個名為 "mycar" 的對象:

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

親自試一試

例子 2

如需創建類繼承,請使用 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() 方法,我們將調用父類的構造方法,并可以訪問父類的屬性和方法。

語法

constructor(parameters)

技術細節

JavaScript 版本: ECMAScript 2015 (ES6)

瀏覽器支持

Method Chrome IE Firefox Safari Opera
constructor() 49.0 13.0 45.0 9.0 36.0

相關頁面

JavaScript 教程:JavaScript 類

JavaScript 教程:JavaScript ES6 (EcmaScript 2015)

JavaScript 參考手冊:extends 關鍵字

JavaScript 參考手冊:super 關鍵詞