Heim >Web-Frontend >js-Tutorial >Warum ist „0' in JavaScript gleich „False'?

Warum ist „0' in JavaScript gleich „False'?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-09 03:24:02780Durchsuche

Why Does

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn