Статический класс JavaScript
Пример
Создайте статический метод и вызовите его в классе:
class Car {
constructor(brand) {
this.carname =
brand;
}
static hello() { // static method
return "Hello!!";
}
}
mycar = new Car("Ford");
//Call 'hello()' on
the class Car:
document.getElementById("demo").innerHTML
= Car.hello();
//and NOT on the 'mycar' object:
//document.getElementById("demo").innerHTML
= mycar.hello();
//this would raise an error.
Определение и использование
Ключевое static
слово определяет статические методы для классов.
Статические методы вызываются непосредственно в классе ( Car
из приведенного выше примера) — без создания экземпляра/объекта ( mycar
) класса.
Поддержка браузера
static
является функцией ECMAScript6 (ES6).
ES6 (JavaScript 2015) поддерживается во всех современных браузерах:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
static
не поддерживается в Internet Explorer 11 (или более ранних версиях).
Синтаксис
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: метод конструктора()