JavaScript Undefined vs. Null: Der vollständige Leitfaden für 2026
17. August 2026
Erfahren Sie den Unterschied zwischen undefined und null in JavaScript, mit Beispielen und Best Practices für Entwickler in Großbritannien im Jahr 2026.
Was ist undefined in JavaScript?
In JavaScript ist `undefined` ein primitiver Wert, der automatisch Variablen zugewiesen wird, die deklariert, aber nicht initialisiert wurden. Wenn du `let name;` ohne Wert deklarierst, ist `name` undefined. Er erscheint auch, wenn du auf eine nicht vorhandene Objekteigenschaft zugreifst oder wenn eine Funktion keinen Wert zurückgibt. Es ist ein eigener Typ. Für britische Entwickler: Stell dir das als den Standardzustand für alles vor, dem noch kein Wert zugewiesen wurde. Das unterscheidet sich von `null`, das du bewusst zuweist. Das Verständnis dieses Unterschieds hilft dir, saubereren Code zu schreiben, besonders bei der Arbeit mit APIs oder Daten aus externen Quellen, bei denen fehlende Werte explizit behandelt werden müssen. Behalte das im Hinterkopf.
Was ist null in JavaScript?
null ist ebenfalls ein primitiver Wert, stellt aber das bewusste Fehlen eines Wertes dar. Es wird oft verwendet, um eine Variable zurückzusetzen oder zu leeren oder um anzuzeigen, dass ein Objekt absichtlich leer ist. Im Gegensatz zu undefined wird null nicht automatisch zugewiesen; du musst es explizit setzen. Zum Beispiel signalisiert `let result = null;`, dass du später einen Wert erwartest. Auf dem deutschen Arbeitsmarkt fragen Interviewer oft nach diesem Unterschied, um dein Verständnis für die Eigenheiten von JavaScript zu prüfen. null ist die Art des Entwicklers zu sagen: „Hier ist nichts, aber das ist beabsichtigt.“ Es kann hilfreich sein beim Erstellen von Formularen oder optionalen Feldern, wo ein null-Wert bedeutet, dass der Benutzer keine Antwort gegeben hat – im Gegensatz zu undefined, was bedeuten könnte, dass das Feld nicht einmal berücksichtigt wurde.
Wesentliche Unterschiede zwischen undefined und null
Der Hauptunterschied liegt im Ursprung: undefined ist der Standardwert, null wird bewusst gesetzt. Wenn du Typen prüfst, gibt typeof undefined „undefined“ zurück, während typeof null „object“ zurückgibt – eine historische Eigenheit, die du dir merken solltest. Lose Gleichheit (==) behandelt sie als gleich, strikte Gleichheit (===) jedoch nicht. Also gilt: undefined == null ist true, aber undefined === null ist false. Das kann Entwickler hereinlegen, die vergessen, strikte Gleichheit zu verwenden. Außerdem impliziert undefined, dass eine Variable existiert, aber keinen Wert hat, während null bedeutet, dass du sie explizit auf leer gesetzt hast. In der Praxis verwenden viele Entwickler aus dem Vereinigten Königreich lieber null für einen bewussten Leerzustand und lassen undefined in Ruhe, damit JavaScript sein Standardverhalten übernehmen kann.
Häufige Fallstricke und wie man sie vermeidet
Ein häufiger Fehler ist die Annahme, dass undefined und null austauschbar sind. Verwende immer strikte Gleichheit, um eines von beiden zu prüfen, oder nutze eine kombinierte Prüfung wie value == null (die beide abfängt), wenn du nicht zwischen ihnen unterscheiden musst. Ein weiteres Problem tritt beim Zugriff auf verschachtelte Objekteigenschaften auf: Du erhältst möglicherweise undefined und nimmst an, das sei in Ordnung, aber dahinter könnte sich ein Bug verbergen. Eine nützliche Technik ist die optionale Verkettung (?.), um Fehler zu vermeiden. Sei außerdem vorsichtig bei API-Antworten von britischen Regierungsdiensten oder Banken, die für fehlende Daten null zurückgeben könnten; du musst beide Fälle behandeln. Um auf der sicheren Seite zu sein, schreibe eine Hilfsfunktion wie isNil(value), die sowohl null als auch undefined prüft, wodurch Wiederholungen und Fehler reduziert werden.
Best Practices für die Verwendung von undefined und null in Ihrem Code
Verfolgen Sie einen konsistenten Ansatz in Ihrer gesamten Codebasis. Viele Teams entscheiden sich dafür, dass `undefined` „noch nicht zugewiesen" bedeutet und `null` „bewusst leer". Dies entspricht der ECMAScript-Spezifikation. Beispielsweise sollten Sie Variablen, die Objekte aufnehmen sollen, bei der Initialisierung auf `null` setzen statt auf `undefined`. Bei Funktionsparametern verlassen Sie sich auf `undefined`, um Standardwerte auszulösen. Wenn Sie an einem großen Projekt in London oder Manchester arbeiten, schreiben Codierungsstandards oft strikte Gleichheitsprüfungen vor. Dokumentieren Sie Ihre Entscheidungen im Styleguide Ihres Teams. Setzen Sie eine Variable schließlich niemals manuell auf `undefined`; das kann zu verwirrendem Verhalten führen und verwischt die Unterscheidung. Lassen Sie JavaScript einfach seinen Lauf nehmen und reservieren Sie `null` für explizit leere Werte.
FAQ
Bei loser Gleichheit (==) ist null gleich undefined, daher gibt null == undefined true zurück. Bei strikter Gleichheit (===) sind sie jedoch nicht gleich, das heißt null === undefined gibt false zurück. Verwenden Sie immer strikte Gleichheit, um unerwartete Ergebnisse in Ihrem JavaScript-Code zu vermeiden. Der Unterschied ist wichtig, denn null ist beabsichtigt, während undefined der Standardwert ist.