Avatar ·

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.