Heim > Web-Frontend > js-Tutorial > Wie können logische JavaScript-Operatoren Objekte zurückgeben?

Wie können logische JavaScript-Operatoren Objekte zurückgeben?

Mary-Kate Olsen
Freigeben: 2024-11-26 15:11:09
Original
239 Leute haben es durchsucht

How Can JavaScript Logical Operators Return Objects?

Die logischen Operatoren in JavaScript verstehen: Warum sie Objekte zurückgeben können

In JavaScript sind logische Operatoren wie && (und) und || (oder) werden normalerweise zu booleschen Werten (wahr oder falsch) ausgewertet. In bestimmten Szenarien können sie jedoch auch Objekte zurückgeben. Dieses überraschende Verhalten kann Sie zunächst verwirren.

Um dieses Phänomen zu untersuchen, analysieren wir die folgenden Codeausschnitte:

var _ = (obj.fn && obj.fn()) || obj._ || (obj._ = {});

var _ = obj && obj._;
Nach dem Login kopieren

Im ersten Beispiel wird obj.fn zunächst ausgewertet. Wenn es definiert ist, wird das Ergebnis des Ausdrucks obj.fn() zurückgegeben. Andernfalls wird der Ausdruck obj._ ausgewertet oder ein neues Objekt erstellt, wenn weder obj.fn noch obj._ vorhanden sind.

Ähnlich wird im zweiten Beispiel zuerst obj ausgewertet. Wenn obj vorhanden ist (als wahr ausgewertet wird), ist das Ergebnis der Wert von obj._. Wenn obj jedoch nicht existiert (als Falsch ausgewertet wird), wird der ursprüngliche obj-Wert selbst zurückgegeben.

Enthüllung des logischen Kurzschlussverhaltens

Dieses Verhalten ist bedingt aus der logischen Kurzschlussnatur von && und ||. Mit anderen Worten: Diese Operatoren versuchen, so schnell wie möglich einen „logischen Wert“ zurückzugeben, um unnötige Auswertungen zu vermeiden, bei denen das Ergebnis bereits klar ist.

Im Fall von ||, wenn der Ausdruck auf der linken Seite zu ausgewertet wird true, es wird sofort zurückgegeben und der rechte Ausdruck wird überhaupt nicht ausgewertet. Wenn umgekehrt der Ausdruck auf der linken Seite „falsch“ ergibt, wird der Ausdruck auf der rechten Seite ausgewertet und zurückgegeben.

Falschheit und Wertrückgabe in JavaScript

Der andere Aspekt, der Welchen Einfluss dieses Verhalten hat, ist die Art und Weise, wie falsche Werte in JavaScript behandelt werden. Zu den falschen Werten in JavaScript gehören false, 0, NaN, leere Zeichenfolgen, null und undefiniert.

Vor Version 1.2 von JavaScript, || gab „false“ zurück, wenn der Ausdruck als „false“ ausgewertet wurde. Ab Version 1.2 wird jedoch der tatsächliche Wert des Ausdrucks zurückgegeben. Das heißt, wenn der linke Ausdruck falsch ist, wird der Wert des rechten Ausdrucks zurückgegeben.

Ähnlich gilt für &&, wenn der linke Ausdruck als wahr ausgewertet wird, der rechte Ausdruck wird ausgewertet und sein Wert zurückgegeben. Wenn der linke Ausdruck jedoch „false“ ergibt, wird in JS 1.0 und 1.1 „false“ zurückgegeben, während ab JS 1.2 der Wert des linken Ausdrucks zurückgegeben wird.

Schlussfolgerung

Das Verständnis des logischen Kurzschlussverhaltens und der Behandlung falscher Werte durch JavaScript ist entscheidend für das Verständnis manchmal überraschende Rückgabewerte logischer Operatoren. Indem Sie erkennen, dass bei diesen Operatoren Effizienz im Vordergrund steht und dass Falschheit in JavaScript unterschiedliche Interpretationen haben kann, können Sie die Komplexität dieser Operatoren sicher bewältigen.

Das obige ist der detaillierte Inhalt vonWie können logische JavaScript-Operatoren Objekte zurückgeben?. 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