Diferencia entre nulo y indefinido en JavaScript

Diferencia entre nulo y indefinido en JavaScript
Al igual que otros idiomas, JavaScript también admite términos nulos e indefinidos para el manejo variable. Si se declara una variable pero no se ha asignado ningún valor, entonces se conoce como indefinido. Sin embargo, si se asigna una variable con un valor nulo, entonces significa que está vacío. Es notar que ambos términos se entremezcla para un programador novedoso.

Por lo tanto, esta guía tiene la intención de enumerar las diferencias entre valores indefinidos y nulos en JavaScript. Al final de esta guía, se esperan los siguientes resultados de aprendizaje.

  • Valor nulo en JavaScript
  • Valor indefinido en JavaScript
  • Diferencia entre valores nulos e indefinidos

Antes de profundizar en la diferencia, elabremos ambos términos individualmente.

Valor nulo en JavaScript

Nulo representa ningún valor y las variables se pueden asignar con la palabra clave nula para representarlas como una variable nula. Por ejemplo, el siguiente código asigna un valor nulo a una variable.

var x = nulo;
consola.log (x);

En el código anterior, una variable nombrada 'X'se crea y NULL se asigna a esa variable.

Producción

La salida muestra que el valor de x (en el que se almacenó un valor nulo) se imprime en la consola.

Valor indefinido en JavaScript

Una variable que se ha declarado pero cuyo valor no se ha asignado se conoce como una variable indefinida. Además de esto, el término indefinido se puede obtener utilizando la palabra clave indefinida mientras asigna.

Consulemos las siguientes líneas de código.

variar;
consola.pesado);

En el código anterior, se declara una variable y, pero no se asigna con ningún valor.

Producción

La salida muestra que el valor ha devuelto indefinido como su salida establece que el valor de la variable no existe.

Diferencia entre nulo e indefinido

Esta sección enumera las diferencias notables y proporciona ejemplos que aclararían mejor cada diferencia.

"Igual" pero no "idéntico"

Los valores nulos e indefinidos se parecen, pero el siguiente código diferencia los valores nulos e indefinidos utilizando el operador "==" y "===". Observe que el operador "==" busca la igualdad de los términos, mientras que el operador "===" busca el valor y el tipo de las variables.

var x = nulo;
variar;
consola.log (x == y);
consola.log (x === Y);

El código anterior toma dos variables, el X tiene un valor nulo, mientras que la variable Y es indefinido.

Producción

La salida muestra que el operador "==" regresa verdadero Pero el estricto operador de igualdad ha demostrado FALSO. Por lo tanto, se puede concluir que los términos nulos y indefinidos no son idénticos en JavaScript.

Operación aritmética

Mientras se trata de operaciones aritméticas, los valores nulos e indefinidos muestran diferentes comportamientos. El siguiente código practica la adición mediante el uso de valores indefinidos y nulos.

var x = nulo;
variar;
consola.log (x + 2);
consola.log (y + 1);

El código anterior declara una variable con un valor nulo y la otra variable se establece en un valor indefinido. Además, la consola.La declaración de registro tiene la intención de imprimir el resultado del operador de adición (+) y las variables "X" y "Y".

Producción

La salida muestra que el Nulo el valor actúa como un "0"Mientras se trata de operadores aritméticos. Contrariamente a esto, cuando un indefinido El valor se usa con operadores aritméticos, mostraría nan (no un número) en la salida.

Tipo

Otra diferencia destacada es el tipo de datos de estos valores. El valor nulo es de objeto escriba mientras que los valores indefinidos tienen un indefinido tipo. La siguiente línea de código se refiere a mostrar la diferencia entre los tipos de estos dos valores.

var x = nulo;
variar;
consola.log ("tipo de x es:" +typeof (x));
consola.log ("tipo de y es:" +typeof (y));

El código anterior imprimirá el tipo de "X" y "Y"Variables.

Producción

La salida anterior representa que el tipo de X (que contiene valor nulo) es un objeto mientras que el tipo de Y (que es una variable indefinida) es indefinido.

Conclusión

Los valores nulos e indefinidos se refieren a las diversas nociones de variables en JavaScript. Como, si la variable no se ha asignado con ningún valor, entonces se conoce como indefinido. El nulo es un valor asignado a cualquier variable que establezca que la variable está vacía. Mayionalmente, estos pueden diferenciarse por su tipo de datos, la forma en que operan en presencia de operadores aritméticos. Además, uno puede verificar el nivel de igualdad de nula y indefinido usando "abstracto" y "estricto"Operadores de igualdad en JavaScript.