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.
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.
nulo == indefinido
La salida debería darle algo parecido a esto, el valor booleano devuelto de cierto simplemente significa que los dos valores son iguales.
Aprende más: 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.
nulo indefinido
El resultado del comando anterior le dará un valor booleano de falsoEn 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.
Relacionados: La última hoja de trucos de JavaScript
typeof (nulo)
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.
typeof (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. Utilizando la isFinite () función: si el valor bajo prueba es un número, la función devuelve cierto; de lo contrario regresa falso.
2. Utilizando la isNaN () función: si el valor bajo prueba es un número, devuelve falso; de lo contrario, vuelve 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.
isFinite (nulo)
El resultado es cierto, significado nulo es un valor del tipo número en JavaScript. Considerando que, realizar la misma prueba en indefinido devoluciones falso.
isFinite (indefinido)
Tipo Coacció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.
1 + nulo
3 * nulo
1 + indefinido
3 * indefinido;
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.
- Programación
- JavaScript
- Consejos de codificación
![](/f/05482971ab44ba8f50cb38251ce660da.jpg)
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.
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!
Un paso más…!
Confirme su dirección de correo electrónico en el correo electrónico que le enviamos.