Classe JavaScript estática
Exemplo
Crie um método estático e chame-o na classe:
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.
Definição e uso
A palavra- static
chave define métodos estáticos para classes.
Métodos estáticos são chamados diretamente na classe ( Car
do exemplo acima) - sem criar uma instância/objeto ( mycar
) da classe.
Suporte ao navegador
static
é um recurso ECMAScript6 (ES6).
O ES6 (JavaScript 2015) é compatível com todos os navegadores modernos:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
static
não é compatível com o Internet Explorer 11 (ou anterior).
Sintaxe
static methodName()
Detalhes técnicos
Versão JavaScript: | ECMAScript 2015 (ES6) |
---|
Mais exemplos
Se você quiser usar o objeto mycar, dentro do método estático, você pode enviá-lo como parâmetro:
Exemplo
Envie "mycar" como parâmetro:
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);
Páginas relacionadas
Tutorial JavaScript: Classes JavaScript
Tutorial JavaScript: JavaScript ES6 (EcmaScript 2015)
Referência JavaScript: O método constructor()