Gemäß ECMA-262, Teil 11,13, folgende ist die erschöpfende Liste von Verbindung Zuweisungsoperator: *= /= %= += -= <<= >>= >>>= &= ^= |=
.
Nach dem Teil 11.11 var c = a || b
wird der a
Wert in c
if gesetzt , wenn er ToBoolean(a)
wahr ist, und wird der b
Wert in c
else gesetzt. Daher wird das logische ODER häufig als Vereinigungsoperator verwendet, z
function (options) {
options = options || {};
}
Häufig genug, coalesce wird verwendet , um den Standardwert für die Variable angeben, wie oben gezeigt wurde: a = a || b
.
Es scheint , dass die Verbindung Zuweisungsoperator ||=
wäre wirklich nützlich sein, so dass der Code oben in einer kürzeren und sauberere Art und Weise schreiben: a ||= b
. Allerdings ist es nicht , dass es (obwohl *=
, +=
und andere zusammengesetzte Zuweisungsoperatoren sind).
Die Frage ist, warum?
+=
, *=
, -=
, /=
, warum nicht %=
funktioniert?).
angle %= 360
oder vertexIndex %= numberOfVertices
(für die Scheitelpunktliste eines geschlossenen Polygons).
||=
und &&=
bald kommen würde: "Sie können froh sein zu erfahren, dass für JS2 / ES4 auch || = und && = hinzugefügt werden. || = sind die meisten nützlich für beide, aber es gibt keinen Grund, die Zuweisungsform von && auszulassen. " .