JavaScript-klasse statisch
Voorbeeld
Maak een statische methode en roep deze aan in de klasse:
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.
Definitie en gebruik
Het static
sleutelwoord definieert statische methoden voor klassen.
Statische methoden worden rechtstreeks in de klasse aangeroepen ( Car
uit het bovenstaande voorbeeld) - zonder een instantie/object ( mycar
) van de klasse te maken.
Browserondersteuning
static
is een ECMAScript6 (ES6)-functie.
ES6 (JavaScript 2015) wordt ondersteund in alle moderne browsers:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
static
wordt niet ondersteund in Internet Explorer 11 (of eerder).
Syntaxis
static methodName()
Technische details
JavaScript-versie: | ECMAScript 2015 (ES6) |
---|
Meer voorbeelden
Als u het mycar-object binnen de statische methode wilt gebruiken, kunt u het als een parameter verzenden:
Voorbeeld
Stuur "mycar" als parameter:
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);
Gerelateerde pagina's
JavaScript-zelfstudie: JavaScript-klassen
JavaScript-zelfstudie: JavaScript ES6 (EcmaScript 2015)
JavaScript-referentie: de constructor()-methode