Was ist der Unterschied zwischen Null und Undefiniert in JavaScript?

Was ist der Unterschied zwischen Null und Undefiniert in JavaScript?

Dieser Leitfaden wird den Unterschied zwischen Null und nicht definiert Werte in JavaScript. Es ist wichtig, den Unterschied zwischen diesen beiden Werten zu kennen, um Fehler zu beheben und fehlerfreien Code zu erstellen.





Welche der folgenden Aussagen trifft auf die meisten neueren SATA-Laufwerke zu?

Verwenden Sie Ihre Browserkonsole, um die Codebeispiele in diesem Handbuch zu verfolgen oder auszuprobieren.





Vergleich der Gleichheit von Null- und undefinierten Werten

In JavaScript, Null ist ein primitiver Wert, der verwendet wird, um das absichtliche Fehlen eines Objektwerts anzuzeigen, während nicht definiert ist ein primitiver Wert, der als Platzhalter für eine Variable fungiert, der kein Wert zugewiesen wurde.





Null und nicht definiert Werte sind gleich, wenn sie mit dem JavaScript-Gleichheitsoperator verglichen werden.

Verwenden Sie den Gleichheitsoperator ( == ) um zu vergleichen, wenn Null und nicht definiert Werte sind in JavaScript gleich.



Öffne deine Browser-Konsole und gib den folgenden Code ein und drücke dann Eintreten.

null == undefined

Die Ausgabe sollte Ihnen etwas geben, das so aussieht, den zurückgegebenen booleschen Wert von wahr bedeutet einfach, dass die beiden Werte gleich sind.





Erfahren Sie mehr: So deklarieren Sie Variablen in JavaScript

Strenger Gleichheitsvergleich

JavaScript hat auch einen Identitätsoperator ( === ), neben dem Gleichheitsoperator auch als strikter Gleichheitsoperator ( == )





Der Identitätsoperator geht noch einen Schritt weiter, indem er prüft, ob der zugrunde liegende Typ der zu vergleichenden Werte gleich ist. Dies bedeutet im Wesentlichen, dass zwei Werte, obwohl sie gleich sind, möglicherweise nicht identisch oder absolut gleich sind, wenn ihre zugrunde liegenden Typen unterschiedlich sind.

Um auf strikte Gleichheit zu testen, verwenden Sie das dreifache Gleichheitszeichen wie unten.

null === undefined

Das Ergebnis des obigen Befehls gibt Ihnen einen booleschen Wert von falsch , Mit anderen Worten, die beiden Werte sind nicht identisch, obwohl sie gleich sind.

Herausfinden des Typs von Null und Undefiniert

Verwenden Sie die integrierte JavaScript-Funktion Art der() um den zugrunde liegenden Typ eines Wertes herauszufinden. Die Funktion verwendet einen einzelnen Parameter des Werts, dessen Typ Sie suchen möchten.

Verwandt: Der ultimative JavaScript-Spickzettel

typeof(null)

Der Nullwert ist vom Typ Objekt wie Sie aus der Ausgabe unten sehen können.

Ausführen eines ähnlichen Tests auf dem nicht definiert Wert gibt Ihnen ein Ergebnis von nicht definiert .

typeof(undefined)

Mit Zahlen arbeiten

Um weitere Unterschiede zu entdecken, führen Sie den Zahlentest auf . durch Null und nicht definiert Werte. Wenn ein Wert eine Zahl ist, bedeutet dies, dass wir mit ihm numerische Operationen durchführen können.

Es gibt zwei Hauptmethoden, um zu testen, ob ein Wert in JavaScript eine Zahl ist.

1. Verwenden des ist endlich () Funktion – wenn der zu testende Wert eine Zahl ist, gibt die Funktion zurück wahr ; sonst kehrt es zurück falsch .

2. Verwenden des isNaN() Funktion – wenn der zu testende Wert eine Zahl ist, wird zurückgegeben falsch ; sonst kehrt es zurück wahr .

Notiz : isNaN ist die Abkürzung für 'ist keine Zahl'.

Der Einfachheit halber verwendet dieser Leitfaden nur die ist endlich () Funktion, um zu testen, ob der Wert eine Zahl ist, aber probieren Sie auch die isNaN() Funktion. Beide Funktionen nehmen den Wert, für den Sie den Zahlentest ausführen möchten, als Parameter.

isFinite(null)

Das Ergebnis ist wahr , Bedeutung Null ist ein Wert vom Typ Nummer in JavaScript. Während der gleiche Test an nicht definiert kehrt zurück falsch .

isFinite(undefined)

Typ Zwang

JavaScript ist eine locker typisierte Sprache, und aus diesem Grund wandelt JavaScript bei der Durchführung mathematischer Operationen das Ergebnis automatisch in einen gewünschten Typ um.

Leider kann diese automatische Konvertierung, die allgemein als Typzwang bezeichnet wird, viele Überraschungen mit sich bringen.

Führen Sie die folgende numerische Operation auf Null und nicht definiert in Ihrer Browser-Konsole.

1 + null 3 * null 1 + undefined 3 * undefined;

Wie Sie sehen, können Sie einige numerische Operationen auf dem Null Wert, weil es eine Zahl ist, die keinen Wert enthält. Daher wird es wie eine Null behandelt. Beachte das Null ist ungleich zu Null in JavaScript, aber es wird in diesem Fall irgendwie so behandelt.

Die numerischen Operationen auf dem nicht definiert Wert Ergebnis in Rückgabe der NaN (Keine Zahl) Wert. Wenn nicht sorgfältig behandelt, kann dies während der Laufzeit auftreten.

Laufzeitfehler vermeiden

Ein gutes Verständnis von Null und nicht definiert Werte ist wichtig, um Laufzeitfehler in Ihrem Produktionscode zu vermeiden. Fehler im Zusammenhang mit nicht definiert Werte können schwer zu debuggen sein und sollten am besten vermieden werden.

Ziehen Sie die Verwendung von TypeScript für stark typisierten Code in Betracht, der in JavaScript kompiliert wird. In TypeScript wird Ihr Code zur Kompilierzeit überprüft, um Laufzeitfehler in Ihrem Produktionscode zu minimieren.

Teilen Teilen Tweet Email Verwandte Themen
  • Programmierung
  • JavaScript
  • Codierungstipps
Über den Autor Gut zu gehen(36 veröffentlichte Artikel)

Mwiza entwickelt von Beruf Software und schreibt ausgiebig über Linux und Frontend-Programmierung. Einige seiner Interessen umfassen Geschichte, Wirtschaft, Politik und Unternehmensarchitektur.

Mehr von Mwiza Kumwenda

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um zu abonnieren