Statyczna klasa JavaScript
Przykład
Utwórz metodę statyczną i wywołaj ją w klasie:
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.
Definicja i użycie
Słowo static
kluczowe definiuje statyczne metody dla klas.
Metody statyczne są wywoływane bezpośrednio na klasie ( Car
z powyższego przykładu) - bez tworzenia instancji/obiektu ( mycar
) klasy.
Obsługa przeglądarki
static
to funkcja ECMAScript6 (ES6).
ES6 (JavaScript 2015) jest obsługiwany we wszystkich nowoczesnych przeglądarkach:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
static
nie jest obsługiwany w programie Internet Explorer 11 (lub starszym).
Składnia
static methodName()
Szczegóły techniczne
Wersja JavaScript: | ECMAScript 2015 (ES6) |
---|
Więcej przykładów
Jeśli chcesz użyć obiektu mycar, wewnątrz metody statycznej możesz wysłać go jako parametr:
Przykład
Wyślij "mycar" jako parametr:
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);
Powiązane strony
Samouczek JavaScript: Klasy JavaScript
Samouczek JavaScript: JavaScript ES6 (EcmaScript 2015)
JavaScript Reference: metoda constructor()