¿Cuál es la diferencia entre nulo e indefinido en JavaScript?

¿Cuál es la diferencia entre nulo e indefinido en JavaScript?

Esta guía analizará la diferencia entre nulo y indefinido valores en JavaScript. Conocer la diferencia entre estos dos valores es importante para depurar y crear código sin errores.





La banca en línea no está disponible para usted en este momento bank of america

Utilice la consola de su navegador para seguir o probar los ejemplos de código que se describen en esta guía.





Comparación de la igualdad de valores nulos e indefinidos

En JavaScript, nulo es un valor primitivo que se usa para significar la ausencia intencional de un valor de objeto, mientras que indefinido es un valor primitivo que actúa como marcador de posición para una variable a la que no se le ha asignado un valor.





Nulo y indefinido los valores son iguales cuando se comparan con el operador de igualdad de JavaScript.

Utilice el operador de igualdad ( == ) para comparar si nulo y indefinido los valores son iguales en JavaScript.



Abra la consola de su navegador e ingrese el siguiente código, luego presione Ingresar.

|_+_|

La salida debería darle algo parecido a esto, el valor booleano devuelto de cierto simplemente significa que los dos valores son iguales.





Más información: Cómo declarar variables en JavaScript

Comparación estricta de igualdad

JavaScript también tiene un operador de identidad ( === ), también conocido como el operador de igualdad estricta además del operador de igualdad ( == )





El operador de identidad hace un esfuerzo adicional al verificar si el tipo subyacente de los valores que se comparan es el mismo. Básicamente, esto significa que aunque dos valores son iguales, es posible que no sean idénticos o estrictamente iguales si sus tipos subyacentes son diferentes.

Para probar la igualdad estricta, use el signo igual triple como se muestra a continuación.

|_+_|

El resultado del comando anterior le dará un valor booleano de falso En otras palabras, los dos valores no son idénticos aunque sean iguales.

Averiguar el tipo de nulo e indefinido

Utilice la función de JavaScript incorporada tipo de() para averiguar el tipo subyacente de un valor. La función toma un solo parámetro del valor cuyo tipo desea encontrar.

Relacionado: La última hoja de trucos de JavaScript

|_+_|

El valor nulo es de tipo objeto como puede ver en la salida a continuación.

Ejecutando una prueba similar en el indefinido el valor te dará un resultado de indefinido .

|_+_|

Trabajar con números

Para explorar más diferencias, realice la prueba numérica en nulo y indefinido valores. Si un valor es un número, implica que podemos realizar operaciones numéricas sobre él.

Hay dos formas principales de probar si un valor es un número en JavaScript.

1. Usando el isFinite () función: si el valor bajo prueba es un número, la función devuelve cierto ; de lo contrario regresa falso .

2. Usando el isNaN () función: si el valor bajo prueba es un número, devuelve falso ; de lo contrario regresa cierto .

Nota : isNaN es la abreviatura de 'no es un número'.

Para simplificar las cosas, esta guía solo utilizará el isFinite () función para probar si el valor es un número, pero siéntase libre de probar también la isNaN () función. Ambas funciones toman el valor en el que desea ejecutar la prueba numérica como parámetro.

|_+_|

El resultado es cierto , sentido nulo es un valor del tipo número en JavaScript. Considerando que, realizar la misma prueba en indefinido devoluciones falso .

|_+_|

Tipo Coerción

JavaScript es un lenguaje de tipo flexible y, debido a esto, al realizar operaciones matemáticas, JavaScript convertirá automáticamente el resultado al tipo que desee.

Desafortunadamente, esta conversión automática, que comúnmente se conoce como coerción de tipo, puede traer muchas sorpresas.

Ejecute la siguiente operación numérica en nulo y indefinido en la consola de su navegador.

|_+_| |_+_| |_+_| |_+_|

Como puede ver, puede realizar algunas operaciones numéricas en el nulo valor porque es un número que no tiene valor. Por lo tanto, se trata como un cero. Toma nota de que nulo no es igual a cero en JavaScript, pero de alguna manera se trata así en este caso.

Las operaciones numéricas en el indefinido El valor da como resultado la devolución del Yaya (No es un valor numérico). Si no se trata con cuidado, podría experimentar esto durante el tiempo de ejecución.

Evitar errores en tiempo de ejecución

Una buena comprensión de nulo y indefinido Los valores son vitales para evitar errores en tiempo de ejecución en su código de producción. Errores relacionados con indefinido los valores pueden ser difíciles de depurar y es mejor evitarlos.

Considere usar TypeScript para código fuertemente tipado que se compila en JavaScript. En TypeScript, su código se verifica en tiempo de compilación para minimizar los errores de tiempo de ejecución en su código de producción.

Cuota Cuota Pío Correo electrónico Temas relacionados
  • Programación
  • JavaScript
  • Consejos de codificación
Sobre el Autor Bueno para ir(36 Artículos publicados)

Mwiza desarrolla software de profesión y escribe extensamente en Linux y programación front-end. Algunos de sus intereses incluyen historia, economía, política y arquitectura empresarial.

Más de Mwiza Kumwenda

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse