NaN en JavaScript

| Última modificación: 25 de octubre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

JavaScript es un lenguaje de programación basado en variables. Estas variables pueden ser de dos tipos: aquellas con valores de tipos primitivos y aquellas con valores de tipos no primitivos. Los valores de tipos primitivos son todos los elementos que no son un objeto y tampoco tienen métodos. Además, son valores que no son modificables, por lo que permanecen estables a lo largo del código.

Debido a estas categorías, a la hora de escribir líneas de código en un lenguaje de programación, solemos pensar en crear acciones a partir de la asignación de valor. Sin embargo, los lenguajes de programación también tienen formas de mostrar la ausencia de valor. En este post, te enseñaremos qué es y cómo funciona el valor NaN en JavaScript, una de las maneras que tiene este lenguaje para representar la ausencia de valor. También conocerás nan que significa español.

¿Qué es NaN en JavaScript?

NaN en JavaScript es un valor que representa la ausencia de un valor numérico. Esto queda claro con sus siglas, que son una abreviación de la sentencia not a number. Dentro de la categoría que representa la ausencia de valor, también se encuentran los elementos null y nan undefined nan. Entender su diferencia es un poco complejo. Sin embargo, en el mundo del desarrollo web existe una analogía que compara estos tres valores con la ausencia de papel higiénico:

  • Dentro de esta analogía, se dice que undefined es como no tener nada, ni papel ni rollo ni estante para ponerlo. Entonces, undefined quiere decir que tenemos un valor indefinido. Es decir, undefined es un el punto máximo de la ausencia de valor.
  • Por su parte, null quiere decir que no tenemos ni papel ni rollo, pero sí tenemos el estante para ponerlo. Esto cobra más sentido cuando pensamos en cómo se utiliza este elemento. Para conocer más sobre esto, te invitamos a leer nuestro post sobre cómo utilizar null en JavaScript.
  • El último pedazo de esta analogía es el elemento NaN en JavaScript, que es como tener el rollo, pero no el papel.

Esta analogía se basa en que el valor undefined es la nada, no existe ni un vacío ni un 0 ni un valor mal indicado, es simplemente nada, a diferencia de NaN JavaScript. Normalmente, este es el resultado de variables indefinidas, las cuales puedes aprender a insertar al leer nuestro post sobre cómo declarar variables indefinidas en JavaScript. Por su parte, el valor null representa la ausencia de valor intencional, es un vacío que llena el espacio, por lo que sí hay estante. Finalmente, NaN JavaScript representa que sí existe un valor (el rollo) pero no es el valor indicado (el papel).

¿Cómo funciona NaN en JavaScript?

Ahora que sabes qué es NaN, ahora pensamos en su funcionamiento. Al igual que undefined, el valor !isnan en JavaScript suele encontrarse como resultado de una acción.

Undefined es lo que obtenemos cuando una acción no tiene un resultado definido. Esto sucede, por ejemplo, cuando recorremos un array con el método find en busca de un valor con ciertas propiedades. En estos casos, puede que el array no contenga un valor con dichas características. Entonces, el resultado del método find será undefined.

Por su parte, el valor NaN en JavaScript nos aparece como resultado de una acción cuando hemos realizado una operación aritmética con un valor undefined. Es decir, aparece cuando hemos insertado una operación que debería tener como resultado un número (por eso aritmética), pero que se ha hecho con un valor indefinido.

Puede que hacer una operación aritmética con valores indefinidos te suene tan extraño que esta situación no parezca común a NaN JavaScript. Sin embargo, esto puede suceder fácilmente cuando, en vez de usar números directamente, usamos variables para llamar a los valores numéricos. Entonces, sea porque la variable no tiene un valor definido o porque nos hemos equivocado en el nombre de la variable y hemos insertado una que no existe, obtendremos como resultado el valor NaN en JavaScript.

Otra ocasión en la que obtendremos el valor NaN en JavaScript, que, en realidad, es la más común, es cuando ejecutamos una operación que no tiene sentido. La operación más fácil de meter en esta categoría es cero dividido entre cero. Así es cómo visualizas lo importante que es saber qué es NaN.

¿Te animas a seguir aprendiendo?

Ahora que sabes qué es NaN y cómo funciona el valor NaN en JavaScript, ¿te animas a seguir aprendiendo con nosotros sobre este lenguaje de programación? Para seguir instruyéndote hasta convertirte en un experto, te recomendamos nuestro Desarrollo Web Full Stack Bootcamp. Gracias a esta formación íntegra e intensiva, no solo aprenderás a dominar JavaScript para utilizarlo en tus propios proyectos, sino que también te formarás en otros lenguajes como CSS y HTML. ¡Anímate a cumplir tu sueño de ser un desarrollador web e inscríbete!

Alberto Casero

Alberto Casero es CTO en Watium, Fundador de Kas Factory & Coordinador del Bootcamp en Desarrollo Web.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado