In JavaScript werden die Gleichheitsoperatoren „==" und „===" zum Vergleich zweier Werte verwendet, sie funktionieren jedoch unterschiedlich in Bezug auf die Art und Weise, wie sie mit Datentypen umgehen. Hier ist eine einfache Erklärung:
Der JavaScript-Operator „Gleich oder lose Gleichheit“ ( == ) prüft, ob zwei Variablen oder Werte gleich sind. Es gibt „true“ zurück, wenn zwei Werte den gleichen Wert haben, auch wenn sie unterschiedlichen Typs sind. Umgekehrt wird „false“ zurückgegeben, wenn die Werte nicht gleichwertig sind.
Hier wandelt JavaScript die Zeichenfolge „1“ in eine Zahl 1 um und vergleicht sie dann, sodass „true“ zurückgegeben wird.
Andere Beispiele:
i). 0 == false ist wahr (weil false in 0 konvertiert wird)
ii). null == undefiniert ist wahr (sie werden als ungefähr gleich betrachtet)
Problem: Diese automatische Typkonvertierung kann manchmal zu unerwarteten Ergebnissen führen, daher gilt sie im Allgemeinen als weniger zuverlässig.
Der strikte Gleichheitsoperator (===) prüft, ob seine beiden Operanden gleich sind, und gibt ein boolesches Ergebnis zurück. Im Gegensatz zum Gleichheitsoperator betrachtet der strikte Gleichheitsoperator Operanden unterschiedlichen Typs immer als unterschiedlich.
Hier wandelt JavaScript die Zeichenfolge „1“ nicht in eine Zahl um. Da 1 eine Zahl und „1“ eine Zeichenfolge ist, wird „false“ zurückgegeben.
Andere Beispiele:
i). 0 == false ist falsch (weil 0 eine Zahl und false ein Boolescher Wert ist)
ii). null == undefiniert ist falsch (sie sind von unterschiedlichem Typ)
== (lose Gleichheit) vergleicht Werte, nachdem sie in denselben Typ konvertiert wurden.
=== (strikte Gleichheit) vergleicht Werte ohne Typkonvertierung.
Das obige ist der detaillierte Inhalt vonJavaScript ist gleich: JavaScript-Vergleichsoperator „===' vs. „=='.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!