Métodos estáticos
Os métodos estáticos são métodos pertencentes à classe como um todo, não a instâncias específicas. Eles não requerem uma instância da classe para serem invocados e são acessados diretamente na classe, não nos objetos criados a partir dela. Para criar um método estático, utiliza-se a palavra reservada static
antes do nome do método ao declará-lo.
Exemplo
class ControleRemoto {
constructor(tv) {
this.tv = tv;
this.volume = 0;
}
aumentarVolume() {
this.volume += 2;
}
diminuirVolume() {
this.volume -= 2;
}
static trocarPilha() {
console.log("OK, vou trocar de pilha.");
}
}
const controle = new ControleRemoto("LG");
controle.aumentarVolume();
controle.aumentarVolume();
controle.aumentarVolume();
ControleRemoto.trocarPilha();
console.log(controle);
/*
OK, vou trocar de pilha.
ControleRemoto { tv: 'LG', volume: 6 }
No exemplo acima, trocarPilha()
é um método estático. Ele não precisa de uma instância específica de ControleRemoto
para ser chamado; é chamado diretamente na classe.