Avatar ·

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