Avatar ·

Wie man einen String in JavaScript korrekt auf leeren Wert, null oder undefined prüft

Hallo zusammen! Ich bin neu in JavaScript und schreibe ein einfaches Registrierungsformular. Ich muss überprüfen, ob der Benutzer Name, E-Mail und Passwort eingegeben hat. Aber ich verwechsle ständig die Prüfungen und bekomme unerwartete Ergebnisse. Hier ist mein aktueller Code: ```javascript let userName = document.getElementById('name').value; if (userName == '') { console.log('Name nicht ausgefüllt'); } else { console.log('Hallo, ' + userName); } ``` Das Problem ist, dass `userName` ein leerer String `""` ist, wenn der Benutzer nichts eingegeben hat. Aber manchmal bekomme ich `null` oder `undefined` (z.B. wenn das Element nicht auf der Seite existiert oder ich mit einer API arbeite). Ich habe versucht, so zu schreiben: ```javascript if (userName == null || userName == undefined || userName == '') { // ... } ``` Aber das sieht sperrig und unschön aus. Außerdem habe ich gehört, dass es einen Unterschied zwischen `==` und `===` gibt und dass `null` und `undefined` sich unterschiedlich verhalten. Es gibt auch leere Strings, Strings mit Leerzeichen (`" "`) – zählt das als leer oder nicht? Könnt ihr mir bitte helfen?