Heim > Web-Frontend > js-Tutorial > Wann geben logische JavaScript-Operatoren Objekte anstelle von Booleschen Werten zurück?

Wann geben logische JavaScript-Operatoren Objekte anstelle von Booleschen Werten zurück?

Barbara Streisand
Freigeben: 2024-12-04 06:00:22
Original
961 Leute haben es durchsucht

When Do JavaScript Logical Operators Return Objects Instead of Booleans?

Logische Operatoren in JavaScript: Jenseits boolescher Ergebnisse

In JavaScript werden logische Operatoren wie „&&“ (AND) und „||“ verwendet ' (OR) geben normalerweise boolesche Ergebnisse zurück. Unter bestimmten Umständen können jedoch auch andere Objekte zurückgegeben werden.

Um zu verstehen, warum, ist es wichtig, das Konzept der Kurzschlussauswertung zu verstehen. Sowohl '&&' als auch '||' sind Kurzschlussoperatoren, d. h. sie hören auf zu werten, sobald das logische Ergebnis bestimmt ist.

Im Ausdruck 'X || Y', 'X' wird zuerst ausgewertet. Wenn festgestellt wird, dass „X“ „wahr“ ist, gibt der Ausdruck „X“ ohne weitere Auswertung zurück. Hier kommt der „Kurzschluss“ ins Spiel. Wenn andererseits „X“ „falsch“ ist, wird „Y“ ausgewertet und der Ausdruck gibt „Y“ zurück.

Ähnlich funktioniert „&&“, indem es das erste „wahre“ Argument oder das zurückgibt letztes „falsches“ Argument.

Der Haken ergibt sich aus dem Umgang von JavaScript mit Wahrhaftigkeit und Falschheit. In JavaScript gelten die folgenden Werte als „falsch“: „false“, „0“, „-0“, „“, „null“, „undefiniert“, „NaN“ und „document.all“.

Wenn daher ein Ausdruck als „falsch“ ausgewertet wird, geben moderne Implementierungen nicht wie in früheren Versionen von JavaScript einen booleschen Wert „falsch“ zurück, sondern den tatsächlich ausgewerteten Ausdruck Ausdruck.

Dieses Verhalten erklärt, warum die in der Frage bereitgestellten Ausdrücke dazu führen, dass Objekte anstelle strenger boolescher Werte zurückgegeben werden. Wenn entweder „obj.fn()“ oder „obj._“ definiert ist, wird das Ergebnis dieses Ausdrucks zurückgegeben, da sie nicht zu den als „falsch“ betrachteten Werten gehören.

Das obige ist der detaillierte Inhalt vonWann geben logische JavaScript-Operatoren Objekte anstelle von Booleschen Werten zurück?. 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