1
resposta

Resolução

const status = 'aprovado';

switch (status) {
    case 'pendente':
        console.log('Pagamento pendente');
        break;
    case 'aprovado':
        console.log('Pagamento aprovado');
        break;
    case 'recusado':
        console.log('Pagamento recusado');
        break;
    default:
        console.log('Opção invalída');
        break;
}
1 resposta

Oii, José Luiz.

Sua resolução ficou excelente. Você aplicou a estrutura do switch perfeitamente, respeitando a sintaxe e a lógica do exercício.

Gostei muito de ver que você incluiu o bloco default. Mesmo que o exercício básico às vezes não exija, em sistemas reais isso é essencial. É o que chamamos de programação defensiva: se chegar um status desconhecido ou um erro de banco de dados, seu sistema não quebra silenciosamente, ele avisa que a opção é inválida.

Uma dica extra para tornar seu código ainda mais robusto: o JavaScript diferencia letras maiúsculas de minúsculas (Case Sensitive).

Isso significa que, no seu código atual, se a variável status recebesse "Aprovado" (com A maiúsculo), o switch não reconheceria o caso "aprovado" e cairia no default.

Para evitar isso em sistemas reais, costumamos padronizar o texto antes de verificar, usando o método .toLowerCase():

// Converte tudo para minúsculo antes de testar
switch (status.toLowerCase()) {
    case 'pendente':
        // ... restante do código
}

Dessa forma, "Aprovado", "APROVADO" ou "aprovado" funcionariam da mesma maneira.

Continue aplicando essas boas práticas.

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!