Prüfung auf leeren String, null und undefined in JavaScript: vollständiger Leitfaden

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einleitung: Warum diese Aufgabe einfacher ist, als sie scheint

\n\n

Jeder Entwickler, der mindestens einmal in JavaScript geschrieben hat, stand vor der Situation, in der er prüfen musste, ob ein String leer ist oder ob es vielleicht null oder undefined ist. Man sollte meinen, was könnte einfacher sein? Aber seien wir ehrlich: Wie oft haben Sie if (str == "") geschrieben und einen Fehler erhalten, wenn die Variable null war? Und wie oft haben Sie versucht, .trim() auf undefined aufzurufen und einen roten Fehler in der Konsole erhalten?

\n\n

Dieses Thema ist eine der beliebtesten Fragen auf Stack Overflow mit Zehntausenden von Aufrufen. Und das zu Recht. In JavaScript gibt es viele Nuancen, die eine einfache Prüfung in ein Minenfeld verwandeln. In diesem Artikel werden wir alle möglichen Methoden analysieren, von den offensichtlichsten bis hin zu professionellen, und herausfinden, welche Sie in Ihrem Projekt am besten verwenden sollten.

\n\n

Wir werden darüber sprechen, was falsy-Werte sind, wie die Operatoren == und === funktionieren und warum "" und 0 nicht dasselbe sind wie false. Am Ende des Artikels werden Sie genau wissen, wie Sie eine universelle Prüfung schreiben, die nicht versagt.

\n\n

Das Problem: Was gilt als "leerer" String?

\n\n

Bevor wir Code schreiben, müssen wir klar definieren, was wir prüfen. Im Kontext der Frage "How do I check for an empty/undefined/null string in JavaScript?" meinen wir normalerweise drei Zustände:

\n\n
    \n
  • Leerer String ("" oder '') — ein String der Länge null.
  • \n
  • null — absichtliches Fehlen eines Wertes.
  • \n
  • undefined — Variable wurde deklariert, aber nicht initialisiert.
  • \n
\n\n

Es gibt aber auch einen vierten, impliziten Fall: ein String, der nur aus Leerzeichen besteht (" "). Aus Sicht der Geschäftslogik wird dieser oft auch als "leer" betrachtet. Wir werden alle Varianten analysieren.

\n\n

Methode 1: Logische Umwandlung (die einfachste)

\n\n

Die beliebteste und prägnanteste Methode ist die Nutzung der Tatsache, dass JavaScript Werte in einem booleschen Kontext automatisch in true oder false umwandelt.

\n\n
let str = "";\n\nif (!str) {\n    console.log("Der String ist leer, null oder undefined");\n} else {\n    console.log("Der String ist nicht leer");\n}\n
\n\n

Dieser Code funktioniert für "", null, undefined, 0, NaN und false. Warum? Weil alle diese Werte in JavaScript als falsy gelten. Wenn Sie sicher sind, dass die Variable ein String ist (oder null/undefined sein kann), reicht diese Methode aus.

\n\n

Es gibt jedoch einen Haken: Wenn die Variable gleich 0 (eine Zahl) ist, sagt die Prüfung ebenfalls "leer". Wenn dies kritisch ist, ist diese Methode nicht geeignet.

\n\n

Methode 2: Strikter Vergleich (explizite Kontrolle)

\n\n

Wenn Sie maximal genau sein und nur die drei genannten Zustände prüfen möchten, verwenden Sie den strikten Vergleich (===).

\n\n
function isEmptyOrNull(str) {\n    return str === "" || str === null || str === undefined;\n}\n\nconsole.log(isEmptyOrNull(""));      // true\nconsole.log(isEmptyOrNull(null));    // true\nconsole.log(isEmptyOrNull(undefined)); // true\nconsole.log(isEmptyOrNull("hello")); // false\nconsole.log(isEmptyOrNull(0));       // false (Zahl wird nicht erfasst)\n
\n\n

Dieser Code funktioniert ohne Überraschungen. Er verwechselt 0 oder false nicht mit einem leeren String. Er behandelt jedoch keine Strings, die nur aus Leerzeichen bestehen.

\n\n

Methode 3: Trim + Prüfung (für "echte" Leerheit)

\n\n

Oft geben Benutzer Leerzeichen in ein Formular ein, und der String " " sieht visuell leer aus. Um auch solche Fälle abzufangen, müssen Sie die Leerzeichen mit der Methode .trim() entfernen.

\n\n
function isBlank(str) {\n    return !str || str.trim() === "";\n}\n\nconsole                

Blogs

Buchempfehlungen