Verificar NaN («no es un número») es tan simple como verificar la auto-igualdad en JavaScript.
Dr. Derek Austin 🥳
Seguir
15 de septiembre de 2019 · 4 minutos de lectura
En JavaScript, el valor especial NaN (que significa» no es un número «) se usa para representar el resultado de un cálculo matemático que no se puede representar como un número significativo. – Joshua Clanton en A Drip of JavaScript
El valor especial NaN aparece en JavaScript cuando Math las funciones fallan (Math.sqrt(-37)) o cuando una función que intenta analizar un número falla (parseInt("No integers here")).
NaN luego envenena todas las demás funciones matemáticas, lo que lleva a todas las demás operaciones matemáticas que dan como resultado NaN.
Tenga en cuenta que en JavaScript, la división por 0 devuelve Infinity, no NaN:
Este resultado se debe a la forma en que flotante-poi nt está definido, de manera más general que solo Javascript. ¿Por qué? Aproximadamente, porque 1/0 es el límite de 1 / x cuando x se acerca a cero. Y 0/0 no tiene ninguna interpretación razonable, por lo tanto NaN.
¿Qué es NaN de todos modos?
NaN es una propiedad del objeto global. El valor inicial de NaN es Not-A-Number, el mismo que el valor de Number.NaN. – MDN Docs
Verificar NaN es más difícil de lo que parece
Desafortunadamente, hay dos problemas al intentar verificar NaN:
El typeof NaN es» número «
NaN no es igual a cualquier otro valor en JavaScript
Mira este ejemplo de código:
Entonces, ¿cómo comprobamos si tenemos un valor NaN que envenene las matemáticas?