Verificar se há NaN (“não é um número”) é tão simples quanto verificar a auto-igualdade em JavaScript.
Dr. Derek Austin 🥳
Seguir
15 de setembro de 2019 · 4 min de leitura
Em JavaScript, o valor especial NaN (que significa” não é um número “) é usado para representar o resultado de um cálculo matemático que não pode ser representado como um número significativo. – Joshua Clanton em Drip of JavaScript
O valor especial NaN aparece no JavaScript quando Math as funções falham (Math.sqrt(-37)) ou quando uma função que tenta analisar um número falha (parseInt("No integers here")).
NaN então envenena todas as outras funções matemáticas, levando a todas as outras operações matemáticas resultando em NaN.
Observe que em JavaScript, a divisão por 0 retorna Infinity, não NaN:
Este resultado é devido à forma como o Poi flutuante nt é definido, de forma mais geral do que apenas Javascript. Porque? Grosso modo, porque 1/0 é o limite de 1 / x quando x se aproxima de zero. E 0/0 não tem nenhuma interpretação razoável, portanto NaN.
O que é NaN, afinal?
NaN é uma propriedade do objeto global. O valor inicial de NaN é Not-A-Number – o mesmo que o valor de Number.NaN. – Documentos MDN
Verificar se há NaN é mais difícil do que parece
Infelizmente, há dois problemas ao tentar verificar NaN:
O typeof NaN é” número ”
NaN é diferente de qualquer outro valor em JavaScript
Confira este exemplo de código:
Então, como verificamos se temos um NaN valor que envenena a matemática?