JavaScriptObjetosintermediario

Getters e setters

Getters e setters são úteis quando você precisa controlar como uma propriedade é lida ou modificada. Em vez de expor diretamente um atributo, você pode usar um getter para calcular um valor dinâmico (como a área de um círculo) e um setter para validar entradas (como impedir um raio negativo). Isso é comum em bibliotecas de gráficos, jogos ou APIs financeiras, onde dados inconsistentes podem causar erros difíceis de rastrear.

O PROBLEMA

Crie objeto circulo com raio, getter area e setter raio que valida valor positivo.

EXEMPLO

circulo.raio = 5;
circulo.area → 78.54
circulo.raio = -1 → throw Error

SOBRE O CONCEITO

Getters e setters permitem que você defina funções que são executadas ao acessar ou atribuir uma propriedade, mas sem usar sintaxe de método. No exercício, get area() calcula a área com Math.PI * this.raio ** 2 e é acessado como circulo.area (sem parênteses). Já set raio(valor) verifica se valor > 0; caso contrário, lança um erro com throw new Error(...). O erro comum é tentar chamar o getter com circulo.area() — isso falha porque area não é uma função, mas uma propriedade. O setter também não é chamado como método; a atribuição circulo.raio = -1 dispara a validação automaticamente.

RESOLUÇÃO

Mais exercícios de Objetos

JSO011 · IntermediárioFactory functionJSO001 · BásicoCriar objeto simplesJSO003 · BásicoMétodo no objetoJSO006 · BásicoDesestruturação de objeto
Ver todos os exercícios de JavaScript