„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum verhält sich „0“ in Vergleichen als falsch, in „if“-Anweisungen in JavaScript jedoch als wahr?

Warum verhält sich „0“ in Vergleichen als falsch, in „if“-Anweisungen in JavaScript jedoch als wahr?

Veröffentlicht am 07.11.2024
Durchsuche:114

Why Does

Entschlüsselung des JavaScript-Paradoxons: Warum „0“ im Vergleich falsch, in If-Anweisungen jedoch falsch ist

In JavaScript ist das Verhalten des Grundelements „ 0“ stellt Entwickler vor ein Rätsel. Während logische Operatoren wie „==“ „0“ mit „falsch“ gleichsetzen, verhält sich „0“ in „Wenn“-Bedingungen als wahr.

Vergleichsparadoxon

Der Code Unten demonstriert das Vergleichsparadoxon:

"0" == false // true
false == "0" // true

In diesem Szenario setzt JavaScript „0“ basierend auf seinen „truthy“- und „falsy“-Werten auf „false“. Werte wie „0“, „NaN“, „null“ und undefiniert gelten als falsch, während andere als wahr gelten.

If Statement Anomaly

Wie auch immer die Situation wird rätselhaft, wenn „0“ in einer „if“-Anweisung verwendet wird:

if ("0") console.log("ha") // ha

Trotz Zwang Bei Vergleichen wird „0“ zu „falsch“ und bei „Wenn“-Bedingungen zu „wahr“. Dies liegt daran, dass „if“-Anweisungen in JavaScript alle nicht leeren Zeichenfolgen, einschließlich „0“, als wahr behandeln.

Wahrheitstabellen

Um dieses Verhalten zu verstehen, haben wir kann auf JavaScript-Wahrheitstabellen verweisen. Sie kategorisieren Werte basierend auf ihrem Wahrheits-/Falschstatus im Vergleich (==) und den Bedingungen der „Wenn“-Aussage (Wahrheit):

WertVergleichWenn Aussage
Wahr/Wahrheitwahrwahr
Falsch/Falschfalschfalsch
"0" (Falsch)falschwahr

Schlussfolgerung

Das Paradoxon von „0“ in JavaScript ergibt sich aus den unterschiedlichen Interpretationen der Wahrhaftigkeit im Vergleich (= =) und „if“-Anweisungen (wahrheitsgemäß). Dies ist ein subtiler, aber entscheidender Unterschied, den Entwickler beachten sollten, um unerwartete Ergebnisse zu vermeiden. Als Best Practice empfiehlt es sich, bei Vergleichen strikte Gleichheit (===) zu verwenden, um präzise Auswertungen zu gewährleisten.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3