Die vorherigen Wörter
In der allgemeinen Programmiersprachen bedeutet nur Null leer, aber der JavaScript -Designer Brendan Eich hat eine undefinierte gestaltet, die zweifellos die Komplexität des Programms erhöht, aber es gibt einen bestimmten Grund dafür. In diesem Artikel werden Undefined und Null in JavaScript im Detail vorgestellt
Historische Gründe, als JavaScript 1995 wie Java geboren wurde, wurde nur Null als Wert festgelegt, der "keine" anzeigt. Nach der Tradition der C -Sprache soll Null automatisch auf 0 wechseln
JavaScript -Designer Brendan Eich glaubt jedoch, dass dies aus zwei Gründen nicht ausreicht. Erstens wird Null als Objekt wie in Java behandelt. JavaScript -Werte sind jedoch in zwei Kategorien unterteilt: primitive Typen und Objekttypen. Brendan Eich glaubt, dass der Wert, der "keine" bedeutet, am besten kein Objekt ist. Zweitens enthielt die anfängliche Version von JavaScript keinen Fehlerbehandlungsmechanismus. Wenn der Datentyp -Missverhältnis auftritt, wandelt es häufig automatisch den Typ um oder fällt lautlos aus. Brendan Eich glaubt, dass es schwierig ist, Fehler zu finden, wenn NULL automatisch auf 0 wird, ist schwierig, Fehler zu finden
Daher entwarf Brendan Eich eine andere undefinierte. Es unterscheidet es wie folgt: Null ist ein Objekt, das "keine" darstellt, die 0 ist, wenn sie in einen numerischen Wert konvertiert wird; Undefiniert ist ein ursprünglicher Wert, der "None" darstellt, der in einem numerischen Wert in NAN konvertiert wird
Derzeit sind null und undefiniert, im Grunde genommen synonym, beide sind primitive Typen, und es gibt nur einige geringfügige Unterschiede.
Der undefinierte Typ hat nur einen Wert, der undefiniert ist. Wenn die deklarierte Variable nicht initialisiert wird, ist der Standardwert der Variablen undefiniert. Im Allgemeinen bedeutet undefinierter, dass die Variable nicht initialisiert wird
var test; // undefinedConsole.log (test == undefined); // truevar test = undefiniert; // undefiniert
Bei Variablen, die nicht deklariert wurden, kann nur ein Vorgang ausgeführt werden, wobei der Typeof -Operator ihre Datentypen erfasst. Dies führt jedoch zu einem Fehler im strengen Modus
Typof (Test); // undefiniert
【Szenenauftritt】
【1】 Nicht bewertete Variablen deklariert
【2】 Holen Sie sich die Attribute, die im Objekt nicht existieren
【3】 Ausführung Ergebnis der Funktion ohne Rückgabewert
【4】 Die Funktionsparameter werden nicht übergeben
【5】 void (Expression)
var i; console.log (i); // undefinedvar o = {}; console.log (op); // undefinedFunction f () {}; console.log (f ()); // undefinedFunction f (x) {return x;} console.log ()); // und definierte Kasse () und undefindefindekonse.【Typ Conversion】】
Boolean (undefiniert): FaleSumber (undefiniert): Nanstring (undefiniert): 'undefiniert'
NULL
Es gibt nur einen Wert für den Null -Typ, der Null ist. Null ist ein Schlüsselwort in der JavaScript -Sprache. Es stellt einen besonderen Wert dar und wird häufig verwendet, um "Nullwert" zu beschreiben.
Logischerweise repräsentiert der Nullwert einen leeren Objektzeiger
[Anmerkung] Null ist ein leerer Objektzeiger, während [] ein leeres Array ist, {} ist ein leeres Objekt, die drei sind unterschiedlich
console.log (typeof null); // 'Objekt'
Obwohl Null und Undefined unterschiedlich sind, repräsentieren beide "leer von Wert", Null repräsentiert "Nullwert" und undefined "undefiniert". Die beiden sind oft austauschbar. Richter Gleichheitsbetreiber == Denken Sie, dass die beiden gleich sind
console.log (null == undefiniert); // true
Da undefinierte und Null keine Konstruktorypen sind, haben sie keine Eigenschaften und Methoden. Verwendung. und [], um auf Mitglieder zuzugreifen, oder Methoden beider Werte erzeugen einen Typfehler.
【Typ Conversion】】
Boolean (null): faleSumber (null): 0string (null): 'null' '
Der obige Artikel über JavaScript -System - undefined und Null ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.