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?
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs
Arbeit mit Datenbanken in PHP: PostgreSQL und MongoDB in der Praxis
Funktionale Programmierung in Kotlin: Fortgeschrittene Techniken und Praktiken
10 fatale Fehler beim Lernen von PHP, die 90 % der Anfänger machen
PHP-Symbole verstehen: Bedeutung von ->, ::, @ und mehr