JavaScriptクラスが拡張されます
例
「Car」クラスからメソッドを継承する「Model」という名前のクラスを作成します。
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();
定義と使用法
キーワードは、extends
別のクラス(親)の子クラスを作成するために使用されます。
子クラスは、別のクラスからすべてのメソッドを継承します。
継承は、コードの再利用に役立ちます。新しいクラスを作成するときに、既存のクラスのプロパティとメソッドを再利用します。
注:上記の例から。このsuper()
メソッドは親クラスを参照します。コンストラクターメソッドでメソッドを呼び出すことによりsuper()
、親のコンストラクターメソッドを呼び出し、親のプロパティとメソッドにアクセスします。
ブラウザのサポート
extends
ECMAScript6(ES6)機能です。
ES6(JavaScript 2015)は、最新のすべてのブラウザーでサポートされています。
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
extends
Internet Explorer 11(またはそれ以前)ではサポートされていません。
構文
class childClass extends parentClass
技術的な詳細
JavaScriptバージョン: | ECMAScript 2015(ES6) |
---|
関連ページ
JavaScriptチュートリアル:JavaScriptクラス
JavaScriptチュートリアル:JavaScript ES6(EcmaScript 2015)
JavaScriptリファレンス:スーパーキーワード
JavaScriptリファレンス:constructor()メソッド