JavaScript null vs undefined
-
null
in JavaScript -
undefined
in JavaScript -
Warum verwechseln die Leute
null
undundefined
damit, dass sie in JavaScript gleich sind? -
Unterschiede zwischen
null
undundefined
in JavaScript
JavaScript ist eine mächtige Sprache, aber die Verwendung verschiedener Datentypen kann verwirrend sein, insbesondere für Anfänger. Die Datentypen null
und undefined
scheinen nichts darzustellen, aber sie sind unterschiedlich.
Man muss zwischen diesen unterscheiden und wissen, wann man welches verwendet, um Laufzeitfehler zu vermeiden.
Dieser Artikel behandelt null
und undefined
und ihre Unterschiede.
null
in JavaScript
null
ist ein Objekt in JavaScript. Wenn es keinen Sinn ergibt, ist das in Ordnung, da es sich um einen Fehler in JavaScript handelt. Es soll einer der primitiven Datentypen sein, aber diese Änderung wird viele bestehende Codebasen zerstören.
Es ist ein vom Benutzer zugewiesener Wert; JavaScript gibt Variablen niemals von sich aus den Wert null
. Es ist ein Wert, der Variablen zugewiesen wird, die leer gelassen werden. Er kann als leerer Wert bezeichnet werden.
undefined
in JavaScript
undefined
ist ein Zustand. Wenn wir eine Variable deklarieren, sie aber nie mit einem Wert initialisieren, dann heißt sie undefiniert. Dies ist der Standardwert, der von JavaScript zum Initialisieren von Variablen verwendet wird. Es ist auch ein leerer Wert.
Warum verwechseln die Leute null
und undefined
damit, dass sie in JavaScript gleich sind?
null
und undefined
sind in den folgenden Aspekten gleich:
- Beides sind primitive Datentypen.
- Wenn Sie sie mit dem Gleichheitsoperator
==
vergleichen, gibt er wahr zurück.
null == undefined; // returns true
JavaScript betrachtet beide als leere Werte.
undefined
undnull
ergeben beidefalse
, wenn sie in einem Ausdruck verwendet werden.
!!undefined; // false
!!null; // false
Unterschiede zwischen null
und undefined
in JavaScript
- Typenunterschied
console.log(typeof (null)); // object
console.log(typeof (undefined)); // undefined
Im obigen Beispiel verwenden wir den Operator typeof
, um ihre Datentypen zu überprüfen. Es gibt den Datentyp null
als Objekt
und den Datentyp undefined
als undefined
zurück. Obwohl der Gleichheitsoperator ==
wahr zurückgibt, gibt der Identitätsoperator ===
falsch zurück, da sie den gleichen Wert haben, aber einen anderen Datentyp haben.
- Rechenoperationen
null
verhält sich bei arithmetischen Operationen wie eine Zahl ohne Wert. Das Ausführen von Operationen ergibt ähnliche Ergebnisse, als ob null 0
wäre.
console.log(4 + null); // 4
console.log(4 * null); // 0
console.log(4 - null); // 4
console.log(4 / null); // Infinity
Es ist wichtig zu beachten, dass, obwohl es in arithmetischen Operationen als 0
behandelt werden kann, der Wert von null
nicht 0
ist.
In der Zwischenzeit gibt undefined
NaN
zurück, wenn es in arithmetischen Operationen verwendet wird.
console.log(4 + undefined); // NaN
console.log(4 * undefined); // NaN
console.log(4 - undefined); // NaN
console.log(4 / undefined); // NaN
Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.
LinkedIn