Heim > Web-Frontend > js-Tutorial > Hauptteil

Warum verhält sich der ternäre Operator von JavaScript anders, wenn er mit dem Operator „=' verwendet wird?

Linda Hamilton
Freigeben: 2024-10-29 22:41:03
Original
193 Leute haben es durchsucht

Why Does JavaScript's Ternary Operator Behave Differently When Used with the ` =` Operator?

Ternärer Operator und Operatorpriorität von JavaScript

Um unerwartete Ergebnisse zu vermeiden, ist es wichtig, die Reihenfolge zu verstehen, in der Vorgänge im Code ausgeführt werden. In JavaScript stellt der ternäre Operator eine häufige Herausforderung dar, insbesondere in Kombination mit anderen Operatoren.

Bedenken Sie den folgenden Codeausschnitt:

h.className += h.className ? ' error' : 'error'
Nach dem Login kopieren

Man könnte annehmen, dass der Code wie folgt funktioniert:

h.className = h.className + h.className ? ' error' : 'error'
Nach dem Login kopieren

Diese Interpretation ist jedoch falsch, da sie zu einem Konsolenfehler führt. Um den Code richtig zu verstehen, ist es wichtig, die Vorrangigkeit des Operators zu berücksichtigen.

Antwort:

Der Schlüssel zum Verständnis des Codes besteht darin, zu erkennen, dass der Operator Vorrang vor dem Ternären hat Operator. Daher wertet der Code wie folgt aus:

h.className = h.className + (h.className ? ' error' : 'error')
Nach dem Login kopieren

In diesem Fall verkettet der Operator h.className mit dem Ergebnis des ternären Operators. Der ternäre Operator prüft den Wahrheitsgehalt von h.className und gibt „error“ zurück, wenn er wahr ist, andernfalls „error“.

Um Verwirrung zu vermeiden, ist es ratsam, das Ziel der Operation explizit anzugeben. In diesem Fall stellt die Verwendung von Klammern zum Gruppieren des Ausdrucks sicher, dass der Operator wie beabsichtigt auf h.className angewendet wird.

Das obige ist der detaillierte Inhalt vonWarum verhält sich der ternäre Operator von JavaScript anders, wenn er mit dem Operator „=' verwendet wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!