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 null
como 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!