JavaScript Class static ключевое слово

Определение и использование

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()