Tengo un fragmento de código JavaScript que se espera que establezca un valor entero para una variable.¿Por qué JavaScript dice que un número no es un número?
Algo está roto, así que cuando intento hacer alert(A);
, devuelve NaN
. isNaN(A);
devuelve verdadero. Pero si yo alert(typeof(A));
, dice number
.
Entonces, ¿cómo puede una variable ser un número y no un número al mismo tiempo? ¿Tal vez entendí mal lo que NaN realmente es?
Editar: gracias a las respuestas, veo que estaba equivocado, porque:
- El tipo de
NaN
esNumber
, NaN
significa "No es un número", que no es lo mismo que "no del tipoNumber
",0/0
es un buen ejemplo deNaN
: sigue siendo un número, pero JavaScript (y nadie más) puede decir cuál es el valor real de cero dividido entre cero.1/0
por el contrario devuelveInfinity
, que no esNaN
.
¿Puede dar más detalles acerca de cómo se declara Ã? Amor – Shaded
este post, muy divertido :) – Christian
Para resumir, 'isNaN' es un número :) –