JavaScript 類擴充套件
示例
建立一個名為 "Model" 的類,它將繼承 "Car" 類的方法
class Car {
constructor(brand) {
this.carname = brand;
}
present() {
return '我有一輛 ' + this.carname;
}
}
class Model extends Car {
constructor(brand, mod) {
super(brand);
this.model = mod;
}
show() {
return this.present() + ', 它是一輛 ' + this.model;
}
}
mycar = new Model("Ford", "Mustang");
document.getElementById("demo").innerHTML = mycar.show();
描述
extends
關鍵字用於建立另一個類(父類)的子類。
子類繼承另一個類的所有方法。
繼承對於程式碼重用非常有用:在建立新類時重用現有類的屬性和方法。
注意:從上面的例子可以看出;super()
方法指代父類。透過在構造方法中呼叫 super()
方法,我們呼叫了父類的構造方法並獲得了訪問父類屬性和方法的許可權。
瀏覽器支援
extends
是 ECMAScript6 (ES6) 的一個特性。
自 2017 年 6 月起,所有現代瀏覽器都支援 ES6 (JavaScript 2015)
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
2016 年 5 月 | 2017 年 4 月 | 2017 年 6 月 | 2016 年 9 月 | 2016 年 6 月 |
Internet Explorer 不支援 extends
。
語法
class childClass extends parentClass
技術詳情
JavaScript 版本 | ECMAScript 2015 (ES6) |
---|
相關頁面
JavaScript 教程:JavaScript 類
JavaScript 教程:JavaScript ES6 (EcmaScript 2015)
JavaScript 參考手冊:super 關鍵字
JavaScript 參考手冊:constructor() 方法