Null vs Undefined in JavaScript: Was ist der Unterschied?

17. August 2026

Verstehen Sie die Unterschiede zwischen null und undefined in JavaScript. Lernen Sie anhand praktischer Beispiele, Typprüfungen und Best Practices für UK-Entwickler im Jahr 2026.

Kurzantwort: Null vs. Undefined

In JavaScript repräsentieren `null` und `undefined` beide „leere" Werte, aber sie haben unterschiedliche Bedeutungen. `undefined` bedeutet, dass eine Variable deklariert, aber noch kein Wert zugewiesen wurde. `null` ist eine absichtliche Zuweisung, die „kein Wert" oder „nichts" darstellt. Zum Beispiel gibt `let a;` `undefined` aus, während `let b = null;` `null` speichert. Das Verständnis dieses Unterschieds ist entscheidend für das Debugging und das Schreiben vorhersehbaren Codes. Im Jahr 2026 verhindert der richtige Umgang mit diesen Werten bei modernen JavaScript-Frameworks häufige Laufzeitfehler. Entwickler in Großbritannien, insbesondere diejenigen, die mit Node.js oder React arbeiten, müssen präzise sein, wann sie welchen Wert verwenden.

Was ist Undefined in JavaScript?

undefined ist ein primitiver Wert, der automatisch Variablen zugewiesen wird, die deklariert, aber nicht initialisiert wurden. Er ist auch der Standard-Rückgabewert für Funktionen, die nichts explizit zurückgeben. Zum Beispiel gibt function test() {} undefined zurück. Der Zugriff auf eine Objekteigenschaft, die nicht existiert, ergibt ebenfalls undefined. Im Typsystem von JavaScript ist undefined selbst ein Typ. Wenn du typeof auf eine nicht deklarierte Variable anwendest, gibt es 'undefined' zurück, ohne einen Fehler auszulösen, was einzigartig ist und für Feature-Erkennung nützlich sein kann. Sich auf undefined zu verlassen, kann jedoch zu unerwartetem Verhalten führen, wenn du vergisst, eine Variable zu initialisieren.

Was ist Null in JavaScript?

null ist ein primitiver Wert, der das absichtliche Fehlen eines beliebigen Objektwerts darstellt. Im Gegensatz zu undefined muss null vom Entwickler explizit zugewiesen werden. Zum Beispiel zeigt let user = null; an, dass das user-Objekt vorerst absichtlich leer ist. Dies wird häufig verwendet, wenn eine Variable später ein Objekt aufnehmen soll. Interessanterweise gibt typeof null in JavaScript 'object' zurück, was ein historischer Bug ist, der in der Sprache erhalten geblieben ist. In der Praxis ist null nützlich, um Werte zurückzusetzen, Referenzen zu löschen und zu signalisieren, dass ein Wert nicht verfügbar ist. UK-Entwickler verwenden null häufig in APIs, um optionale Felder zu kennzeichnen, die nicht bereitgestellt werden.

Wichtige Unterschiede und Typprüfung

Der Kernunterschied liegt in der Absicht. `undefined` bedeutet „nicht definiert“ oder „fehlend“, während `null` „definiert als nichts“ bedeutet. Bei der Typprüfung untersche

Bewährte Methoden und häufige Fallstricke

Führen Sie eine klare Konvention ein: Überlassen Sie `undefined` der JavaScript-Engine und verwenden Sie `null` für bewusst leere Werte. Dadurch wird Ihr Code selbstdokumentierend. Beispielsweise könnte ein optionaler Funktionsparameter standardmäßig `null` statt `undefined` sein. Vermeiden Sie es, Variablen ohne zwingenden Grund `undefined` zuzuweisen. Nutzen Sie Standardparameter oder Destructuring mit Standardwerten, um die Ausbreitung von `undefined` zu verhindern. Zu den häufigen Fallstricken gehört die Annahme, `typeof null` sei `'null'` (es ist `'object'`), sowie die Annahme, dass lose Gleichheit sicher ist – sie kann Bugs verbergen. Britische Teams sollten Linting-Regeln wie `eqeqeq` durchsetzen, um strikte Gleichheit sicherzustellen, und in Code-Reviews stets Randfälle behandeln.

FAQ

Ja, null == undefined ist wahr, weil lose Gleichheit (==) nach Typumwandlung vergleicht und sie als äquivalent behandelt. Allerdings ist null === undefined falsch, weil sie unterschiedliche Typen sind. Für genaue Prüfungen verwende immer strikte Gleichheit oder explizite Prüfungen wie value === null oder typeof value === 'undefined'.

Neueste Ratgeber