Heim  >  Artikel  >  Web-Frontend  >  Warum wird (0 < 5 < 3) in JavaScript als wahr ausgewertet?

Warum wird (0 < 5 < 3) in JavaScript als wahr ausgewertet?

Susan Sarandon
Susan SarandonOriginal
2024-11-01 19:30:02891Durchsuche

Why does (0 < 5 < 3) evaluate to true in JavaScript?

Das vergleichende Rätsel von JavaScript: Die innere Wahrheit entschlüsseln (0 < 5 < 3)

Im Bereich JavaScript eine seltsame Beobachtung entsteht: Warum wird der Ausdruck (0 < 5 < 3) als wahr ausgewertet? Dieses rätselhafte Verhalten ergibt sich aus den Bewertungsregeln der Sprache, die als Reihenfolge der Operationen bekannt sind.

Um dieses Rätsel zu lösen, müssen wir uns mit der Abfolge der Operationen befassen, die durch den Ausdruck ausgeführt werden:

  1. Klammern zuerst: Da es keine Klammern gibt, wird dieser Schritt übersprungen.
  2. Potenzierung: Es gibt keine Potenzierung, also machen wir weiter.
  3. Multiplikation und Division: Auch diese Operatoren fehlen.
  4. Addition und Subtraktion: Wir haben weder Addition noch Subtraktion.
  5. Vergleich: Hier passiert die Magie. Der Ausdruck wird als ((0 < 5) < 3) ausgewertet.

    • Zuerst wird 0 mit 5 verglichen, was zu wahr führt.
    • Das Ergebnis dieses Vergleichs ( true) wird dann mit 3 verglichen. JavaScript behandelt true jedoch als 1 und false als 0. Daher wird 1 mit 3 verglichen, was true ergibt.

Daher das Ganze Der Ausdruck (0 < 5 < 3) reduziert sich auf ((wahr) < 3), was letztendlich wahr ist. Dies erklärt, warum es „true“ zurückgibt, obwohl 0 weder kleiner als 5 noch 3 ist.

In ähnlicher Weise wird (0 < 5 < 2) aus dem gleichen Grund auch als „true“ ausgewertet. Allerdings gibt (0 < 5 < 1) false zurück, da (true) mit 1 verglichen wird, was false ergibt.

Obwohl diese Eigenart faszinierend erscheinen mag, sind ihre praktischen Anwendungen begrenzt. Es ist jedoch ein Beweis dafür, wie wichtig es ist, die Reihenfolge von Operationen in der JavaScript-Programmierung zu verstehen.

Das obige ist der detaillierte Inhalt vonWarum wird (0 < 5 < 3) in JavaScript als wahr ausgewertet?. 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