JavaScriptPOObasico

Método estático

Métodos estáticos são funções que pertencem à classe, não a objetos individuais. Em código real, você encontra isso em bibliotecas como Math.round() ou Array.isArray() — chamadas diretamente na classe sem precisar criar uma instância. Dominar isso permite organizar funcionalidades utilitárias de forma limpa, sem depender de objetos.

O PROBLEMA

Crie classe MathUtils com métodos estáticos: somar(a,b), media(...nums), ehPrimo(n).

EXEMPLO

MathUtils.somar(3,5) → 8
MathUtils.media(1,2,3,4,5) → 3
MathUtils.ehPrimo(7) → true

SOBRE O CONCEITO

O modificador static antes do método o torna acessível diretamente na classe, e não em instâncias. Dentro de um método estático, this se refere à própria classe construtora, não a uma instância — por isso tentar usar this.propriedade para acessar atributos de objeto é um erro: a propriedade não existe no construtor, resultando em undefined. Outro erro comum é instanciar a classe com new para chamar o método estático, como const utils = new MathUtils(); utils.somar(2,3). Isso funciona, mas é desnecessário e vai contra o propósito; o correto é MathUtils.somar(2,3). Métodos estáticos são ideais para funções que não dependem de estado de instância, como cálculos matemáticos ou validações.

RESOLUÇÃO

Mais exercícios de POO

JSP021 · AvançadoClasse LinkedListJSP005 · BásicoContador de instânciasJSP008 · Básicoinstanceof e verificação de tipoJSP009 · BásicoClasse abstrata simulada
Ver todos os exercícios de JavaScript