Até agora, trabalhamos com métodos que pertencem a instâncias de uma classe.

Agora vamos conhecer outro tipo de método:

métodos estáticos.

🎯 Objetivo da aula

Ao final desta aula, você será capaz de:

  • Entender o que são métodos estáticos
  • Diferenciar métodos estáticos de métodos de instância
  • Usar a palavra-chave static
  • Aplicar métodos estáticos em cenários reais
  • Evitar erros comuns

O que é um método estático?

Um método estático é um método que:

  • pertence à classe
  • não pertence às instâncias
  • não usa this da instância

Ou seja: ele é chamado diretamente pela classe.

Exemplo básico de método estático

 
  class Util { static somar(a, b) { return a + b; } }
  console.log(Util.somar(2, 3)); // Saída será: 5

Aqui:

  • não criamos nenhuma instância
  • o método pertence à classe Util

Tentando acessar pelo objeto

 const util = new Util(); util.somar(2, 3); // ❌ Erro 
Métodos estáticos NÃO são acessíveis pelas instâncias.

Métodos de instância vs métodos estáticos

Compare:

 
  class Exemplo { metodoInstancia() { console.log("Método da instância"); }
  static metodoEstatico() {
    console.log("Método estático");
  }
}

const obj = new Exemplo();
obj.metodoInstancia(); // ✅ funciona
Exemplo.metodoEstatico(); // ✅ funciona

obj.metodoEstatico(); // ❌ erro
Exemplo.metodoInstancia(); // ❌ erro

Quando usar métodos estáticos?

Métodos estáticos fazem sentido quando:

  • a lógica não depende de uma instância
  • a função é utilitária
  • a ação está ligada ao conceito da classe, não ao objeto

Exemplos comuns:

  • validações
  • formatadores
  • fábricas de objetos

Exemplo real — validação

 
  class Usuario { constructor(nome, email) 
  { 
    this.nome = nome; this.email = email; 
  }
  static emailValido(email) 
  {
    return email.includes("@");
  }
}

console.log(Usuario.emailValido("teste@email.com")); // Saída será: true
console.log(Usuario.emailValido("teste.com")); // Saída será: false

Observe:

  • o método não usa this
  • ele valida um dado isolado

Métodos estáticos como fábrica

Outro uso comum é criar objetos:

 
  class Usuario { constructor(nome, email) 
  { 
    this.nome = nome; this.email = email; 
  }
  static criarAdmin(nome) 
  {
    return new Usuario(nome, "admin@sistema.com");
  }
}

const admin = Usuario.criarAdmin("Daniel");
console.log(admin.nome); // Saída será: Daniel
console.log(admin.email); // Saída será: admin@sistema.com

Métodos estáticos e herança

Métodos estáticos também são herdados:

 
  class Base { static info() { return "Classe base"; } }
  class Filha extends Base {}
  console.log(Filha.info()); // Saída será: Classe base

Mas lembre-se:

Mesmo herdados, métodos estáticos continuam pertencendo à classe.

Erro comum: usar this em método estático

 static exemplo() { console.log(this.nome); // ❌ this não é uma instância } 

Aqui, this aponta para a própria classe, não para um objeto.

Ligação com tudo que você aprendeu

  • Closures → estado controlado
  • Imutabilidade → previsibilidade
  • Classes → organização
  • Campos privados → proteção
  • Métodos estáticos → utilidades e fábricas

Cada ferramenta tem seu papel.

Resumo da aula para nunca mais esquecer

  • Métodos estáticos pertencem à classe
  • Não precisam de instância
  • São chamados pela classe
  • Servem para lógica utilitária
  • Não substituem métodos de instância

Com isso, fechamos o bloco de Classes em JavaScript. A partir daqui, podemos avançar para aplicações mais arquiteturais ou projetos práticos integrando tudo.


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

A partida mais longa do clássico Space Invaders durou incríveis 38 horas e 32 minutos e esta façanha foi conseguida por um jogador de apenas 12 anos! O jogo, claro, podia ser pausado para alimentação e descanso, mas ainda assim o recorde, estabelecido no dia 02/09/1980, ainda não foi quebrado. Saiba mais.


O famoso título Final Fantasy, da Square Enix, tem este nome exatamente porque se tratava da última esperança da empresa, que estava à beira da falência quando o lançou. Clique aqui e conheça detalhes dessa história.


Instalar vários aplicativos com o mesmo propósito, como editores de texto, reprodutores de músicas ou vídeos e até programas antívirus sobrecarregam o seu sistema operacional e ainda ocupam espaço desnecessário em seu HD. Tenha apenas um bom programa para cada função.


Digitar senhas em computadores de uso coletivo é extremamente perigoso, pois além de softwares de monitoramento, existem dispositivos de hardware que podem capturar suas senhas. Evite ao máximo acessar sites de bancos a partir destes computadores. Veja mais aqui.


Desde o seu lançamento, em 1985, o fantástico jogo Tetris vende pelo menos 70 milhões de unidades por ano em todo o mundo! Os dados são oficiais e fornecidos pela THQ, uma das distribuidoras do título.