Cómo verificar correctamente si una cadena está vacía, es null o undefined en JavaScript
¡Hola a todos! Soy nuevo en JavaScript y estoy escribiendo un formulario de registro simple. Necesito verificar si el usuario ingresó nombre, email y contraseña. Pero constantemente me confundo con las comprobaciones y obtengo resultados inesperados.
Aquí está mi código actual:
```javascript
let userName = document.getElementById('name').value;
if (userName == '') {
console.log('Nombre no completado');
} else {
console.log('Hola, ' + userName);
}
```
El problema es que si el usuario no ingresó nada, `userName` es una cadena vacía `""`. Pero a veces obtengo `null` o `undefined` (por ejemplo, si el elemento no está en la página, o si trabajo con una API). Intenté escribir así:
```javascript
if (userName == null || userName == undefined || userName == '') {
// ...
}
```
Pero esto se ve voluminoso y feo. Además, he oído que hay una diferencia entre `==` y `===`, y que `null` y `undefined` se comportan de manera diferente. También está la cadena vacía, la cadena con espacios (`" "`) — ¿se considera vacía o no?
Por favor, ayúdenme.