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 NullDer 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.
BeispieleZur 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!