Proxy
Em sistemas reais, validar dados na entrada evita que valores inválidos se espalhem pelo código. Com Proxy, você centraliza essas regras sem precisar modificar objetos ou criar setters manuais. Isso é útil em formulários, APIs ou configurações onde a integridade dos dados é crítica.
O PROBLEMA
Use Proxy para validação automática: idade entre 0-120, nome string não vazia.
EXEMPLO
new Proxy({}, validadorHandler);
usuario.idade = 150; // throw RangeErrorSOBRE O CONCEITO
O Proxy permite interceptar operações em um objeto, como atribuições, usando um handler. O set é acionado ao definir uma propriedade. Você deve retornar true se a operação for bem-sucedida; se retornar false ou não retornar nada, a atribução falha silenciosamente. Erro comum: esquecer de retornar true faz com que o valor não seja atribuído, mas sem aviso. Aqui, validamos com typeof e condicionais, e usamos throw new RangeError(...) para rejeitar valores fora da faixa. O get pode ser usado para leitura, mas não é foco.
RESOLUÇÃO