Gemäß ECMA-262, Teil 11,13, folgende ist die erschöpfende Liste von Verbindung Zuweisungsoperator: *= /= %= += -= <<= >>= >>>= &= ^= |=.
Nach dem Teil 11.11 var c = a || bwird der aWert in cif gesetzt , wenn er ToBoolean(a)wahr ist, und wird der bWert in celse 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 %= 360oder 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. " .