2
respostas

isNan

Fiquei com uma dúvida, pois usando o código correto - alternativa B - , na atividade 08 da Aula 7 da Lógica de Programação I, se inserirmos número e outro caracter diferente, o programa aceita: ou seja, se digitamos 10r, ou 1pp, por exempo, ele aceita. E exibe alerta apenas com o número. Não acontece, se iniciar com outro caracter e depois um número. Pergunta: pq ?

`var idade = parseInt(prompt("Digite sua idade"));

while(isNaN(idade) ) { idade = parseInt(prompt("Digite sua idade"));}

alert(idade);`

2 respostas

Quando um valor submetido à inNAN() não é numérico, ele primeiro é convertido para número, depois testado. Porém, ela pode apresentar comportamentos inesperados. Esta função é considerada não confiável para testar se um valor é não numérico ou não. Isso segundo a fundação mozilla. Vale uma lida nesta descrição da função. https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/isNaN

Olá, David. Obrigado pela informação. Minha percepção, até o momento, é que estou iniciando ainda e as aulas vão do básico para maior complexidade e mais detalhes. Aparentemente, algumas funções que temos no curso, na Lógica I não são utilizadas na realidade ou rotina da programação, mas estão no curso para entendermos como se formam, a lógica por trás. Quero entender mais e agradeço, novamente, por me responder !