Dieser Code entspricht
%Vor%Zwei Eigenschaften der Sprache werden verwendet:
Die Klammern sind notwendig, um diese Interpretation zu vermeiden:
%Vor%(was ein Fehler ist).
Ihre Vermutung ist richtig. Dies ist eine gängige Methode, um "Standardwerte" für Variablen in JavaScript zu deklarieren.
%Vor%Dies funktioniert wie folgt: In JavaScript ist eine undefinierte Variable falsy, was bedeutet, dass in jeder booleschen Vergleichsoperation %code% ausgewertet wird. Sie können dann den OR-Operator verwenden, um zwei Werte zu kombinieren, und es wird der erste Wert zurückgegeben, der als %code% ausgewertet wird.
%code% oder 'logisches ODER' hat eine höhere Priorität als der Zuweisungsoperator %code% , daher sind die Klammern notwendig, um sicherzustellen, dass dieses Idiom in der richtigen Reihenfolge ausgewertet wird
Die andere Sache, auf die Sie achten sollten, ist, dass viele Sprachen, einschließlich Javascript, kurz anbieten -Circuit-Auswertung von Booleschen Operatoren wie AND und OR. Wenn der erste Operand eines logischen ODER-Wertes wahr ist, muss der zweite Operand nicht ausgewertet werden, da dies für das Ergebnis keinen Unterschied macht.
Verstehen Sie dies, und Sie werden sehen, dass dies keine spezielle Zuweisungssyntax ist, sondern ein Idiom oder Muster, das ein Sprachfeature ausnutzt, um eine kompaktere Darstellung einer Idee bereitzustellen.
Sie haben recht mit Ihrer ersten Schätzung. Dies ist ein gängiges Muster für die Initialisierung von Javascript-Namespaces. Es dient dazu, ein vorheriges Objekt mit dem gleichen Namen nicht zu überschreiben. Die meisten populären Bibliotheken werden etwas ähnliches tun, um ihre Namespace-Objekte zu erstellen.
Die Klammer ist da, damit die Ausdrücke in der richtigen Reihenfolge ausgewertet werden.
Dieser Code entspricht
%Vor%Zwei Eigenschaften der Sprache werden verwendet:
a || b
. Wenn a
ist true
, dann wird b
nicht ausgewertet). Wenn Sie also var v = a || b;
und a
einem Objekt zuweisen, das in true
umgewandelt werden kann, wird b
nicht ausgewertet. var a = b = c;
zu aktivieren) Die Klammern sind notwendig, um diese Interpretation zu vermeiden:
%Vor%(was ein Fehler ist).
Ihre Vermutung ist richtig. Dies ist eine gängige Methode, um "Standardwerte" für Variablen in JavaScript zu deklarieren.
%Vor% Dies funktioniert wie folgt: In JavaScript ist eine undefinierte Variable falsy, was bedeutet, dass in jeder booleschen Vergleichsoperation false
ausgewertet wird. Sie können dann den OR-Operator verwenden, um zwei Werte zu kombinieren, und es wird der erste Wert zurückgegeben, der als true
ausgewertet wird.
Sie haben recht mit Ihrer ersten Schätzung. Dies ist ein gängiges Muster für die Initialisierung von Javascript-Namespaces. Es dient dazu, ein vorheriges Objekt mit dem gleichen Namen nicht zu überschreiben. Die meisten populären Bibliotheken werden etwas ähnliches tun, um ihre Namespace-Objekte zu erstellen.
Die Klammer ist da, damit die Ausdrücke in der richtigen Reihenfolge ausgewertet werden.
||
oder 'logisches ODER' hat eine höhere Priorität als der Zuweisungsoperator =
, daher sind die Klammern notwendig, um sicherzustellen, dass dieses Idiom in der richtigen Reihenfolge ausgewertet wird
Die andere Sache, auf die Sie achten sollten, ist, dass viele Sprachen, einschließlich Javascript, kurz anbieten -Circuit-Auswertung von Booleschen Operatoren wie AND und OR. Wenn der erste Operand eines logischen ODER-Wertes wahr ist, muss der zweite Operand nicht ausgewertet werden, da dies für das Ergebnis keinen Unterschied macht.
Verstehen Sie dies, und Sie werden sehen, dass dies keine spezielle Zuweisungssyntax ist, sondern ein Idiom oder Muster, das ein Sprachfeature ausnutzt, um eine kompaktere Darstellung einer Idee bereitzustellen.
Tags und Links javascript variables fallback