Heim  >  Artikel  >  Web-Frontend  >  Warum geben logische JavaScript-Operatoren manchmal Objekte anstelle von Booleschen Werten zurück?

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

Linda Hamilton
Linda HamiltonOriginal
2024-11-18 02:42:02974Durchsuche

Why Do JavaScript Logical Operators Sometimes Return Objects Instead of Booleans?

Logische Operatoren in JavaScript: Nicht-boolesche Ergebnisse verstehen

Im Gegensatz zu mathematischen Operatoren, die immer numerische Werte zurückgeben, sind logische Operatoren (&& und | |) in JavaScript kann manchmal Objekte anstelle von Booleschen Werten zurückgeben. Dies kann kontraintuitiv sein, insbesondere wenn versucht wird, sie für bedingte Prüfungen zu verwenden.

Warum Objekte zurückgegeben werden

Das || und &&-Operatoren sind logische Kurzschlussoperatoren, das heißt, sie werten ihre Operanden von links nach rechts aus und geben den ersten vollständig ermittelten logischen Wert zurück. In JavaScript kann dieser Wert entweder wahr oder falsch sein, er kann aber auch ein Objekt sein.

Die bedingte Logik verstehen

Im Ausdruck X || Y, X wird zuerst ausgewertet und als boolescher Wert interpretiert. Wenn X wahr ist, wird es sofort zurückgegeben und Y wird nicht ausgewertet. Dies liegt daran, dass der Ausdruck bereits als wahr bestimmt wurde.

Wenn ist falsch.

Der Trick mit „Falsch“

Der erste Punkt der Verwirrung entsteht, denn wenn ein Ausdruck als „wahr“ bewertet wird, wird der Ausdruck selbst zurückgegeben. Aus diesem Grund werden möglicherweise tatsächliche Werte von logischen Ausdrücken zurückgegeben.

Der Trick mit Null

Der zweite Punkt der Verwirrung ergibt sich aus dem Verhalten von JavaScript in verschiedenen Versionen. Anfangs würde es für „falsche“ Ausdrücke „false“ zurückgeben, aber ab Version 1.2 wird der tatsächliche Wert des Ausdrucks zurückgegeben.

Beispiele

Zur Veranschaulichung:

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