Validar objeto
Em formulários de cadastro e APIs, dados recebidos podem estar incompletos ou ter tipos errados, causando falhas no sistema. Validar campos obrigatórios e tipos evita erros como tentar usar uma string onde se espera número. Por exemplo, ao processar um usuário, você precisa garantir que o nome seja string e a idade seja número antes de salvar.
O PROBLEMA
Crie validarUsuario(obj) que verifica campos obrigatórios e tipos corretos.
EXEMPLO
validarUsuario({nome:"Ana",email:"ana@ok.com",idade:25}) → {valido:true,erros:[]}SOBRE O CONCEITO
A função percorre os campos esperados e usa typeof para verificar o tipo. Um erro comum é typeof null === 'object', então ao validar um campo que deve ser objeto, é preciso excluir explicitamente null. No exercício, cada campo tem um tipo esperado: nome e email devem ser string, idade deve ser number. Acumule os erros em um array e retorne um objeto com valido (booleano) e erros (lista de mensagens). Lembre-se: typeof sozinho não basta para detectar null e é necessário verificar obj[field] !== null quando o tipo esperado é 'object'.
RESOLUÇÃO