Создайте статический метод и вызовите его в классе:
class Car {
constructor(brand) {
this.carname =
brand;
}
static hello() { // static метод
возвращает "Привет!!";
}
}
mycar = new Car("Форд");
// Вызов 'hello()' на
класс Car:
document.getElementById("demo").innerHTML
= Car.hello();
// а НЕ на объект 'mycar':
//document.getElementById("demo").innerHTML
= mycar.hello();
// это вызовет ошибку.
Описание
Ключевое слово static определяет статические методы для классов.
Статические методы вызываются непосредственно в классе (Car из примера выше) — без создания экземпляра/объекта (mycar) класса.
Поддержка браузера
static — это функция ECMAScript6 (ES6).
ES6 (JavaScript 2015) поддерживается во всех современных браузерах с июня 2017 года:
| Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
| May 2016 | Apr 2017 | Jun 2017 | Sep 2016 | Jun 2016 |
static не поддерживается в Internet Explorer.
Синтаксис
static methodName()
Технические детали
| JavaScript Версия: | ECMAScript 2015 (ES6) |
|---|
Больше примеров
Если вы хотите использовать объект "mycar" внутри статического метода, вы можете отправить его в качестве параметра:
Отправить "mycar" в качестве параметра:
class Car {
constructor(brand) {
this.carname =
brand;
}
static hello(x) {
return "Привет " +
x.carname;
}
}
mycar = new Car("Форд");
document.getElementById("demo").innerHTML
= Car.hello(mycar);
Похожие страницы
JavaScript Учебник: JavaScript Классы
JavaScript Учебник: JavaScript ES6 (EcmaScript 2015)
JavaScript Справочник: Метод constructor()