NaN en JavaScript

Autor: | Última modificación: 9 de agosto de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post:

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.

¿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 undefined. 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. 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 representa que sí existe un valor (el rollo) pero no es el valor indicado (el papel).

¿Cómo funciona NaN en JavaScript?

Al igual que undefined, el valor NaN 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. 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.

¿Te animas a seguir aprendiendo?

Ahora que sabes qué es 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!

👉 Descubre más del Desarrollo Web Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]

¿Sabías que hay más de 40.000 vacantes para desarrolladores de software sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso! 

¿Sabías que hay más de 40.000 vacantes para desarrolladores web sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!