Qual a diferença entre null e undefined em JavaScript e quando usá-los?
Olá a todos! Comecei a estudar JavaScript e não consigo entender a diferença entre null e undefined. Ambos parecem significar "nada", mas por que existem dois valores diferentes na linguagem?
Vejo exemplos de código:
```javascript
let a;
console.log(a); // undefined
let b = null;
console.log(b); // null
```
No primeiro caso, a variável foi declarada, mas não inicializada — obtemos undefined. No segundo, eu mesmo atribuo null. Mas qual é a diferença fundamental? Quando devo usar null e quando undefined?
Também notei que, na comparação com ==, eles são iguais, mas com ===, não:
```javascript
console.log(null == undefined); // true
console.log(null === undefined); // false
```
Isso me deixou completamente confuso. Expliquem, por favor, como para um iniciante: o que é o quê e como não errar no código? Obrigado desde já!
<<>>
Diferença principal: undefined — "ainda não tem valor", null — "valor intencionalmente ausente"
Em JavaScript, undefined e <