1
resposta

Verificando se a valor colocado na bateria é válido

const bateria = 70;

if (bateria > 0 && bateria < 101) {
    if (bateria < 20) {
        console.log('Situação Crítica!');
    } else if (bateria <= 80) {
        console.log('Moderada!');
    } else {
        console.log('Cheia!');
    }
} else {
    console.log('Valor inválido!');
};
1 resposta

Oi, Angelo.

É muito interessante ver como você expandiu o desafio original. Adicionar uma validação para garantir que o valor esteja entre 0 e 100 demonstra uma preocupação real com a consistência dos dados, algo que diferencia um código funcional de um código preparado para o mundo real.

Sua lógica de aninhar as condições dentro de um if principal resolve o problema de valores impossíveis (como números negativos ou acima de 100) que poderiam surgir em um sistema real.

Uma alternativa híbrida

Se você quiser unir a sua validação de segurança com a brevidade do operador ternário, poderia escrever o código desta forma:

const bateria = 70;

const status = (bateria < 0 || bateria > 100) 
    ? "Valor inválido!" 
    : (bateria < 20) 
        ? "Situação Crítica!" 
        : (bateria <= 80) 
            ? "Moderada!" 
            : "Cheia!";

console.log(status);

Nesse formato, a primeira verificação já descarta o erro, e as demais seguem o fluxo lógico. Note que a sua escolha de usar bateria <= 80 na segunda condição é bem precisa, pois cobre exatamente o intervalo que falta após a primeira checagem.

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