Der Inhalt dieses Artikels befasst sich mit der Erklärung der Verwendung von Gleichheit (==) in JavaScript. Ich hoffe, dass er für Freunde in Not hilfreich ist.
Was ist die Magie?
Die Projekte, für die ich in letzter Zeit verantwortlich war, beinhalten Frontend, also habe ich versucht, js zu schreiben. Bei der Verarbeitung des Nicht-Null-Werts eines Feldes habe ich tagert_value == '' verwendet, um ein Urteil zu fällen, und dann ist etwas sehr Seltsames passiert. Einige Benutzer haben berichtet, dass die Überprüfung des Nicht-Null-Werts fehlgeschlagen ist. Beim Debuggen des Problems habe ich Folgendes in der Konsolenstatusleiste versucht:
> 0 == '' < true
Ich scheine zu wissen, wo das Problem liegt. . . Ich verstehe die Beurteilungslogik von == nicht genau, daher habe ich vor, die offizielle Dokumentation zu finden und einen Blick darauf zu werfen.
Gleichheit (==, !=)
1 Wenn die Typen der beiden Ausdrücke unterschiedlich sind, versuchen Sie, sie in eine Zeichenfolge umzuwandeln. Zahl oder Boolescher Wert.
2. NaN ist nicht gleich etwas, einschließlich sich selbst.
3. Negative Null ist gleich positive Null.
4 .
5. Werte gelten als gleich, wenn es sich numerisch um identische Zeichenfolgen handelt äquivalente Zahlen, dasselbe Objekt, identische boolesche Werte oder (wenn verschiedene Arten) können sie in eine dieser Situationen gezwungen werden.
Jeder andere Vergleich gilt als ungleich.
Sehen Sie sich die offizielle Erklärung der Gleichheit an und sehen Sie sich die erste an wissen, warum das Ergebnis wahr ist. Wenn die Typen beider Seiten des Ausdrucks inkonsistent sind, versucht die Vergleichsmethode zunächst, sie in eine Zeichenfolge, eine Zahl oder einen Booleschen Wert umzuwandeln, und führt dann den Vergleich durch (gleiche Bedingungen: dieselbe Zeichenfolge, mathematisch gleiche Zahlen, dasselbe Objekt, den gleichen booleschen Wert).
Wenn man das sieht, ist es im Grunde klar, wer zuerst konvertiert wurde.
> Number('') < 0 > var b= '' > b.toString() <'0'
Es ist sehr offensichtlich, dass bei int == string der String zuerst in den entsprechenden int-Wert konvertiert und dann verglichen wird.
Das Folgende führt stark === (strikte Gleichheit) ein. Genau genommen sieht es sehr kraftvoll aus. Sein offizieller Name ist Identity (===. !==). „Identity“ hat das Gefühl eines spannenden Genres zur Aufklärung von Kriminalität.
Sehen Sie sich die offizielle Einführung an:
Identity (===. !==)
Diese Operatoren verhalten sich identisch mit dem
Gleichheitsoperatoren, außer dass keine Typkonvertierung durchgeführt wird und die Typen dies tun müssen
gleich sein, um als gleich angesehen zu werden.
Wenn in der täglichen Entwicklung keine Garantie dafür besteht, dass die im Vergleichsausdruck verwendeten Variablentypen zweimal konsistent sind, wird empfohlen, zum Vergleichen Identifizieren (===) zu verwenden ob sie gleich sind. Wenn die Variablentypen konsistent sind, können Sie zum Vergleich direkt Gleichheit (==) verwenden.
Das obige ist der detaillierte Inhalt vonErläuterung der Verwendung von Equality(==) in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!