Heim >Web-Frontend >js-Tutorial >Eine kurze Diskussion über null und undefiniert in Javascript
Solange wir über die Variablen und Datentypen von js sprechen, sind diese beiden Brüder untrennbar miteinander verbunden. Sie müssen von unzähligen Studenten beobachtet werden Und das in großen Mengen. Diese beiden Brüder sind wirklich beliebt. ^-^
js ist wirklich seltsam. Es reicht nicht aus, null zu haben, sondern auch ein Undefiniertes zu erstellen.
Obwohl es kritisiert wurde, ist dies das Design.
In c# und Java bedeutet null, dass leer ist und kein Speicher zugewiesen ist.
Das Ergebnis der Verwendung von Number(null) für null in js ist 0. Was bedeutet das? Es bedeutet, dass es nicht leer ist, es ist nur ein Nullwert, es hat keinen Wert und seinen Datentyp ist „Objekt“.
Um leer darzustellen, hat der Designer ein Undefiniertes erstellt, das einen separaten Datentyp hat, der „undefiniert“ ist.
Das Ergebnis der Verwendung von Number (undefiniert) ist NaN, und das Konvertierungsergebnis kann auch den Entwurfszweck erreichen.
Aufgrund dieses Entwurfsergebnisses spielt die Datentypkonvertierung im Ausdruck eine Schlüsselrolle.
Eine undefinierte Variable oder eine Variable, die definiert ist, aber keinem Wert zugewiesen ist, bedeutet leer, also undefiniert.
undefiniert wird eher von Javascript selbst verwendet.
Wenn ein Programmierer beispielsweise die Eigenschaft eines Objekts löschen möchte, ist es nicht notwendig, die Eigenschaft undefiniert zuzuweisen, da die Eigenschaft dann immer noch vorhanden ist. Verwenden Sie hasOwnProperty, um zu überprüfen, ob die Eigenschaft noch vorhanden ist. und es wird an einigen Stellen erscheinen, an denen die Logik beurteilt werden muss. Das Problem besteht darin, dass Sie vor dem Löschen ein Attribut löschen möchten.
var o1={p1:'v1',p2:'v2'}; o1.p2=undefined; o1.hasOwnProperty('p2'); //true
Um Array-Elemente zu löschen, verwenden Sie Splice, um keine Nebenwirkungen zu haben.
Codierer müssen sorgfältig überlegen, ob sie undefiniert zum Zuweisen von Werten verwenden.
Für Programmierer ist es wichtiger, Null zu verwenden. Sie können einer Variablen einen Nullwert zuweisen, sie von der Objektinstanz trennen, die Speicherbereinigung sicherstellen und sich auf das Problem vorbereiten. Variable Symbole werden später verwendet.
Es gibt Fallstricke beim Vergleich von null und undefiniert
null == undefined //truenull == false //falseundefined == false //false
Obwohl seltsam, das ist das Ergebnis, das ist das Design.
Sie können die relevanten Definitionen von ECMA-262 einsehen, Regeldefinition Link 1, Link 2.
ENDE
Das obige ist der detaillierte Inhalt vonEine kurze Diskussion über null und undefiniert in Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!