Was kommuniziert das? my_var = my_var || 69 [duplizieren]

9

Ich habe das in einem Javascript-Beispiel gesehen

%Vor%

Ich nehme an, es bedeutet zu überprüfen, ob my_var existiert, wenn my_var nicht auf 69 gesetzt ist. Ist das der Fall? Gibt es eine Dokumentation darüber, ist es sehr schwer, als eine Google / SO-Suche darzustellen, könnte jemand mich in Richtung Docs oder doppelte QA zeigen?

(Das Beispiel hat 69 nicht benutzt, das ist nur ich bin krass)

    
Dom Vinyard 10.05.2013, 09:33
quelle

3 Antworten

12

Einfach genug, um es in der JS-Konsole auszuprobieren.

%Vor%

Sie setzen die Variable nur, wenn sie aktuell einen falsy Wert enthält.

Falsy-Werte in JS sind:

  1. false
  2. null
  3. undefined
  4. Die leere Zeichenfolge ''
  5. Die Nummer 0
  6. Die Nummer NaN
Anirudh Ramanathan 10.05.2013, 09:35
quelle
0

Es wird die meiste Zeit "Standard" genannt. Der Wert "default" auf den Wert nach || . Die Operation ist ein loser Vergleich, ähnlich wie bei den if -Anweisungen mit == .

Alles nicht so falsch wie:

  • falsch
  • leere Zeichenfolge ( '' )
  • null
  • undefined
  • 0
  • NaN

gilt als wahr. Wenn der erste Wert keiner von diesen ist, dann ist es der zugewiesene Wert. Wenn dies der Fall ist, wird der Wert auf der rechten Seite zugewiesen.

    
Joseph 10.05.2013 09:37
quelle
0

Der Operator || or hat zwei Operanden (links und rechts). Es überprüft, ob der Wert auf der linken Seite truthy ist und wenn dies der Variablen zugewiesen wird, wird der Variablen der Wert der rechten Hand zugewiesen.

%Vor%     
Mark Walters 10.05.2013 09:39
quelle

Tags und Links