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.

Referências