Gleichheit in JavaScript verstehen: Das Rätsel von „0“ und „Falsch“
In JavaScript wird der Gleichheitsoperator (==) umgewandelt Operanden vor dem Vergleich einem gemeinsamen Typ zuordnen, was zu unerwarteten Ergebnissen führen kann. Ein rätselhaftes Rätsel entsteht, wenn „0“ mit „false“ unter Verwendung von == getestet wird.
Bedenken Sie den folgenden Code:
"0" == false // true false == "0" // true
Diese Ausdrücke werden als „true“ ausgewertet, was bedeutet, dass „0“ äquivalent zu „false“ ist . Dies widerspricht jedoch dem Verhalten von if("0"), das „ha“ ausgibt:
if("0") console.log("ha") // prints "ha"
Um dieses Rätsel zu lösen, müssen wir uns mit dem Konzept der „wahren“ und „falschen“ Werte befassen in JavaScript. Der ==-Operator erzwingt „0“ in einen booleschen Wert, was falsch ist. Die if-Anweisung interpretiert jedoch nicht leere Zeichenfolgen als wahrheitsgemäße Werte.
Um diese Inkonsistenzen zu vermeiden, ist es wichtig, beim Testen auf Äquivalenz den strikten Gleichheitsoperator (===) zu verwenden. === führt einen direkten Vergleich von Werten ohne Typzwang durch.
"0" === false // false
Die folgende Tabelle zeigt die wahren und falschen Werte in JavaScript:
Value | Truthy | Falsey |
---|---|---|
0 | Falsey | True |
"0" | Truthy | False |
"" | Falsey | True |
Bedenken Sie, dass == dazu führen kann Beim Vergleich von Werten verschiedener Typen kann es zu unerwarteten Ergebnissen kommen. Entscheiden Sie sich immer für === für präzise und eindeutige Vergleiche.
Das obige ist der detaillierte Inhalt vonWarum ist „0' in JavaScript gleich „False'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!