JavaScript Класс Ключевое слово static
Пример
Создайте статический метод и вызовите его в классе:
class Car {
constructor(brand) {
this.carname = brand;
}
static hello() { // статический метод
return "Hello!!";
}
}
mycar = new Car("Ford");
// Вызовите 'hello()' на класс Car:
document.getElementById("demo").innerHTML = Car.hello();
// и НЕ на объект "mycar":
//document.getElementById("demo").innerHTML = mycar.hello();
// это вызвало бы ошибку.
Определение и использование
Ключевое слово static определяет статические методы для классов.
Статические методы вызываются непосредственно в классе (Car из приведенного выше примера) - без создания экземпляра/объекта (mycar) класса.
Поддержка браузера
| Ключевое слово | |||||
|---|---|---|---|---|---|
| static | 49.0 | 13.0 | 45.0 | 9.0 | 36.0 |
Синтаксис
static methodName()
Технические детали
| Версия JavaScript: | ECMAScript 2015 (ES6) |
|---|
Еще примеры
Если вы хотите использовать объект 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);
Связанные страницы
Учебник JavaScript: JavaScript Классы
Учебник JavaScript: JavaScript ES6 (EcmaScript 2015)
JavaScript справочник: Метод constructor()
