1
resposta

Dúvida null x undefined.

**''É importante notar que, embora os dois tipos sejam utilizados para sinalizar ausência de valor, os operadores de comparação do JavaScript podem ou não diferenciá-los:

console.log(null == undefined); // true console.log(null === undefined); // false.''**

Alguém pode me explicar com mais clareza essa parte? Grato...

1 resposta

Oi, Kaique, tudo bem?

O null é um valor que representa a ausência intencional de valor, ou seja, quando você atribui o valor null a uma variável, está dizendo explicitamente que não há valor ali. Por exemplo, se você tem uma variável input e atribui null a ela, está indicando que não há informação disponível.

Por outro lado, o undefined é um valor que representa a ausência de valor por falta de inicialização. Quando uma variável é declarada, mas não recebe nenhum valor, ela é automaticamente atribuída como undefined. Ou seja, é uma ausência de valor não intencional. Por exemplo, se você declara uma variável input2 sem atribuir nenhum valor, ela será automaticamente undefined.

Com dito acima, tanto nullcomo undefined definem a ausência de valor, e os operadores de comparação do JavaScript podem identificar as diferenças entre eles ou não.

No caso do uso do operador de comparação abstrata (==), o null e o undefined retornam true nessa igualdade, pois esse operador compara os valores após fazer conversões de tipo, se necessário. Já o operador de igualdade estrita (===) retorna false, pois a comparação só é verdadeira se os valores e os tipos forem iguais.

Espero ter ajudado. Caso tenha dúvidas, conte com o fórum. Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software