Módulo de formatação
Em sistemas reais, a formatação de dados como moeda, data e documentos é repetitiva. Em vez de espalhar a mesma lógica por vários arquivos, cria-se um módulo utilitário reutilizável. Isso reduz duplicação, facilita manutenção e garante consistência na interface do usuário.
O PROBLEMA
Crie módulo formato.js com formatarMoeda, formatarData, formatarTelefone, formatarCPF.
EXEMPLO
formatarMoeda(1234.56, "BRL") → "R$ 1.234,56"
formatarCPF("12345678901") → "123.456.789-01"
formatarTelefone("81999999999") → "(81) 99999-9999"SOBRE O CONCEITO
O módulo formato.js deve exportar funções com export nomeado. Cada função recebe um valor e retorna a string formatada. O erro comum é não validar a entrada: se formatarMoeda receber null ou undefined, o código quebra. Como throw é proibido, use condicionais para retornar um valor padrão (ex: '' ou '0,00'). Use Intl.NumberFormat para moeda, replace com regex para CPF e telefone. Lembre-se de que formatarData precisa de um objeto Date — também precisa de validação.
RESOLUÇÃO