Como verificar corretamente se uma string é vazia, null ou undefined em JavaScript?
Olá a todos! Sou novo em JavaScript e estou escrevendo um formulário de registro simples. Preciso verificar se o usuário inseriu nome, email e senha. Mas estou constantemente confuso com as verificações e obtendo resultados inesperados.
Aqui está meu código atual:
```javascript
let userName = document.getElementById('name').value;
if (userName == '') {
console.log('Nome não preenchido');
} else {
console.log('Olá, ' + userName);
}
```
O problema é que, se o usuário não inseriu nada, `userName` é uma string vazia `""`. Mas às vezes recebo `null` ou `undefined` (por exemplo, se o elemento não está na página, ou estou trabalhando com API). Tentei escrever assim:
```javascript
if (userName == null || userName == undefined || userName == '') {
// ...
}
```
Mas isso parece verboso e feio. Além disso, ouvi dizer que há diferença entre `==` e `===`, e que `null` e `undefined` se comportam de maneira diferente. Também há string vazia, string com espaços (`" "`) — isso é considerado vazio ou não?
Por favor, me digam