Como determinar se uma variável é undefined ou null em JavaScript?
Olá a todos! Comecei a estudar JavaScript e me deparei com um problema. No meu código, muitas vezes preciso verificar se uma variável existe ou não, mas fico confuso entre `undefined` e `null`.
Por exemplo, tenho uma função que recebe um parâmetro `name`. Se o usuário não passar um nome, quero exibir a mensagem "Nome não informado". Mas se ele passar `null`, também quero tratar isso como ausência de nome.
Fiz assim:
```javascript
function greet(name) {
if (name == undefined) {
console.log("Nome não informado");
} else {
console.log("Olá, " + name);
}
}
greet(); // exibe "Nome não informado" — funciona
greet(null); // exibe "Olá, null" — mas deveria ser "Nome não informado"!
```
Por que `name == undefined` não captura `null`? Li sobre os operadores `==` e `===`, mas não entendo a diferença. Também ouvi falar de `typeof`, mas parece ser para strings. Como faço para verificar `undefined` e `null` ao mesmo tempo? E existe diferença entre esses dois?