JavaScript Class static キーワード

定義と使用法

static キーワードはクラスの静的メソッドの定義です。

静的メソッドはクラス上で直接呼び出されます(上の例では、 Car)を呼び出すことで、クラスのインスタンス/オブジェクトを作成する必要はありません(mycar)。

インスタンス

例 1

静的メソッドを作成してクラス上で呼び出します:

class Car {
  constructor(brand) {
    this.carname = brand;
  }
  static hello() {  // 静的メソッド
    return "Hello!!";
  }
}
mycar = new Car("Ford");
//クラス Car 上で「hello()」を呼び出します:
document.getElementById("demo").innerHTML = Car.hello();
//「mycar」オブジェクト上で呼び出さないでください:
//document.getElementById("demo").innerHTML = mycar.hello();
//エラーが発生します

実際に試してみる

例 2

静的メソッド内で「mycar」オブジェクトを使用する場合、それをパラメータとして送信できます:

「mycar」をパラメータとして送信:
class Car {
  constructor(brand) {
    this.carname = brand;
  }
  static hello(x) {
    return "Hello " + x.carname;
  }
}
mycar = new Car("Ford");
document.getElementById("demo").innerHTML = Car.hello(mycar);

実際に試してみる

構文

static methodName()

技術的詳細

JavaScript バージョン: ECMAScript 2015 (ES6)

ブラウザのサポート

キーワード Chrome IE Firefox Safari Opera
static 49.0 13.0 45.0 9.0 36.0

関連ページ

JavaScript ガイド:JavaScript クラス

JavaScript ガイド:JavaScript ES6 (EcmaScript 2015)

JavaScript リファレンスマニュアル:constructor() メソッド