Diferença entre nulo e indefinido em javascript

Diferença entre nulo e indefinido em javascript
Como outros idiomas, o JavaScript também suporta termos nulos e indefinidos para manuseio variável. Se uma variável for declarada, mas não foi atribuída com nenhum valor, ela é chamada de indefinição. No entanto, se uma variável for atribuída com um valor nulo, isso significa que está vazio. É para perceber que ambos os termos estão entrelaçados para um novo programador.

Portanto, este guia pretende listar as diferenças entre valores indefinidos e nulos em JavaScript. No final deste guia, os seguintes resultados de aprendizado são esperados.

  • Valor nulo em javascript
  • Valor indefinido em javascript
  • Diferença entre valores nulos e indefinidos

Antes de cavar a diferença, vamos elaborar os dois termos individualmente.

Valor nulo em javascript

Null representa nenhum valor e as variáveis ​​podem ser atribuídas com a palavra -chave nula para representá -las como uma variável nula. Por exemplo, o código a seguir atribui um valor nulo a uma variável.

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

No código acima, uma variável chamada 'x'é criado e nulo é atribuído a essa variável.

Saída

A saída mostra que o valor de x (no qual um valor nulo foi armazenado) é impresso no console.

Valor indefinido em javascript

Uma variável que foi declarada, mas cujo valor não foi atribuído é referido como uma variável indefinida. Além disso, o termo indefinido pode ser obtido usando a palavra -chave indefinida ao atribuir.

Vamos nos referir às seguintes linhas de código.

variar;
console.log (y);

No código acima, uma variável y é declarada, mas não é atribuída com nenhum valor.

Saída

A saída mostra que o valor retornou indefinido, pois sua saída afirma que o valor da variável não existe.

Diferença entre nulo e indefinido

Esta seção lista as diferenças notáveis ​​e fornece exemplos que esclareceriam melhor cada diferença.

"Igual", mas não "idêntico"

Os valores nulos e indefinidos são parecidos, mas o código a seguir diferencia os valores nulos e indefinidos usando o operador “==” e “===”. Observe que o operador "==" procura a igualdade dos termos, enquanto o operador "===" procura o valor e o tipo de variáveis.

var x = nulo;
variar;
console.log (x == y);
console.log (x === y);

O código acima leva duas variáveis, o x tem um valor nulo enquanto a variável y é indefinido.

Saída

A saída mostra que o operador "==" retorna verdadeiro Mas o estrito operador de igualdade mostrou falso. Assim, pode -se concluir que os termos nulos e indefinidos não são idênticos no JavaScript.

Operação aritmética

Ao lidar com operações aritméticas, os valores nulos e indefinidos mostram comportamentos diferentes. O código seguinte pratica a adição usando valores indefinidos e nulos.

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

O código acima declara uma variável com um valor nulo e a outra variável é definida como um valor indefinido. Além disso, o console.A declaração de log pretende imprimir o resultado do operador de adição (+) e as variáveis ​​“x" e "y““.

Saída

A saída mostra que o Nulo O valor atua como um “0”Ao lidar com operadores aritméticos. Ao contrário disso, quando um indefinido O valor é usado com operadores aritméticos, mostraria NAN (não um número) na saída.

Tipo

Outra diferença proeminente é o tipo de dados desses valores. O valor nulo é de objeto tipo enquanto os valores indefinidos têm um indefinido tipo. A seguinte linha de código refere -se a mostrar a diferença entre os tipos desses dois valores.

var x = nulo;
variar;
console.log ("Tipo de x é:" +typeof (x));
console.log ("Tipo de y é:" +typeof (y));

O código acima imprimirá o tipo de “x" e "y”Variáveis.

Saída

A saída acima representa que o tipo de x (que contém valor nulo) é um objeto enquanto o tipo de y (que é uma variável indefinida) é indefinido.

Conclusão

Os valores nulos e indefinidos se referem às várias noções de variáveis ​​em JavaScript. Como, se a variável não tiver sido atribuída com nenhum valor, é referida como indefinida. O nulo é um valor que é atribuído a qualquer variável que afirme que a variável está vazia. Principalmente estes podem ser diferenciados por seu tipo de dados, a maneira como operam na presença de operadores aritméticos. Além disso, pode -se verificar o nível de igualdade de nulo e indefinido usando “abstrato" e "estritoOperadores de igualdade em JavaScript.