Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Dúvidas

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Nesse desafio (Verifique se um número digitado pelo usuário é positivo ou negativo. Mostre um alerta informando.) depois de algumas tentativas sem usar (Number) não encontrava o erro , poq acho que nao cheguei a ver sobre (Number) nas aulas , e isso me fez buscar mais informações rsrs . tem algum erro ou algo a complementar?

2 respostas
solução!

Oii, Bernardo!

Agradeço por compartilhar sua dúvida e seu código com a comunidade Alura.

O seu código tá muito bom! De fato, utilizar o Number() é super importante nesse caso, pois o que vem do prompt() é sempre uma string, mesmo que a pessoa digite um número. Sem essa conversão, as comparações como numero < 0 não funcionariam corretamente.

Um ponto interessante de otimizar seria o último else, que na prática nunca será executado, já que qualquer valor (número ou não) passa pelos três testes anteriores. Para validar se o que foi digitado é realmente um número, você pode usar a função isNaN().

Aqui vai uma sugestão de código melhorado:


let numero = Number(prompt("Qual seu número?"));

console.log("Número digitado:", numero);

if (isNaN(numero)) {
    alert("Número inválido");
} else if (numero < 0) {
    alert("Número negativo");
} else if (numero > 0) {
    alert("Número positivo");
} else {
    alert("Número neutro");
}

Assim, se a pessoa digitar algo que não seja um número (como 'abc'), o sistema já avisa que é um número inválido.

Espero ter ajudado.

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

Obrigado pelo apoio , ainda não conhecia essa função (isNaN ) estou no começo rsrs o motivo do ultimo else foi em caso de usar (abc) , mas não funcionaria :(