null und undefined

null und undefined

null und undefined sind spezielle Werte, mit denen das Skript auf das Fehlen von Werten, auf leere oder undefinierte Variablen prüft.

23-02-02 SITEMAP

Gibts nicht geht nicht: Wenn Werte oder Eigenschaften nicht existieren

Die speziellen Werte null und undefined kennzeichnen die Abwesenheit sinnvoller Werte. Sie sind zwar selber Werte, aber sie enthalten keine Informationen. Sie werden eingesetzt, wenn Operationen keinen Wert liefern könnten, aber einen Wert haben müssen.

Beides wird eingesetzt, um auf fehlende Werte zu reagieren, aber ihr Verhalten weist feine Unterschiede auf: null wird eher bewusst zugewiesen, undefined von JavaScript erzeugt. In booleschen Ausdrücken gelten null und undefined als falsy.

undefined – existiert, aber hat keine sinnvollen Wert

let foo;
console.log ("foo", foo);

JavaScript weist einer Variable, die mit let ohne Wertzuweisung definiert ist, den Wert undefined zu. Das Skript wirft keine Fehlermeldung aus.


[Log] foo – undefined 

Ihre Benutzung führt nicht zu Laufzeitfehlern, aber zu unbrauchbaren Ergebnissen. Hingegen führt die Benutzung einer Variablen, die nicht deklariert wurde, zu einem Laufzeitfehler:

console.log (bar);

[Error] ReferenceError: Can't find variable: bar

null – mit Absicht gesetzt

null wird einer Variablen absichtlich zugewiesen, um aufzuzeigen, dass die Variable keine Informationen enthält oder ein Objekt leer ist oder nicht initialisiert. Dieses Vorgehen stellt sicher, dass ein Element existiert, wenn Aktionen auf dem Element anstehen.

const elem = document.querySelector('.selector') && null;
if (elem) {
	console.log ("Hier gibts was zu holen");
} else {
	console.log ("Nichts in Sicht");
}

Der &&-Operator gibt den ersten falsy-Wert oder den letzten Wert zurück. Auf diese Weise wird der Eigenschaft also der Wert null zugewiesen, wenn das Element nicht existiert.