Métodos estáticos JavaScript
Os métodos de classe estática são definidos na própria classe.
Você não pode chamar um static
método em um objeto, apenas em uma classe de objeto.
Exemplo
class Car {
constructor(name) {
this.name =
name;
}
static hello() {
return "Hello!!";
}
}
let myCar = new Car("Ford");
// You can call 'hello()' on
the Car Class:
document.getElementById("demo").innerHTML
= Car.hello();
// But NOT on a Car Object:
// document.getElementById("demo").innerHTML
= myCar.hello();
// this will raise an error.
Se você quiser usar o objeto myCar dentro do static
método, pode enviá-lo como parâmetro:
Exemplo
class Car {
constructor(name) {
this.name =
name;
}
static hello(x) {
return "Hello " +
x.name;
}
}
let myCar = new Car("Ford");
document.getElementById("demo").innerHTML
= Car.hello(myCar);