JavaScript null vs undefined

Harshit Jindal 12 Oktober 2023
  1. null in JavaScript
  2. undefined in JavaScript
  3. Warum verwechseln die Leute null und undefined damit, dass sie in JavaScript gleich sind?
  4. Unterschiede zwischen null und undefined in JavaScript
JavaScript null vs undefined

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 und null ergeben beide false, 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 avatar Harshit Jindal avatar

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