Według ECMA-262, strony 11.13 następuje to wyczerpująca lista związków operatorów przypisania: *= /= %= += -= <<= >>= >>>= &= ^= |=.
Zgodnie z częścią 11.11, var c = a || bwprowadzi awartość do cjeżeli ToBoolean(a)jest prawdą i wprowadzi bwartość do cinaczej. Jako taki, logiczny OR jest często używany jako operator koalescencji, np
function (options) {
options = options || {};
}
Często wystarczy, COALESCE służy do określenia wartości domyślnej zmiennej, jak wykazano powyżej: a = a || b.
Wydaje się, że związek operator przypisania ||=byłaby bardzo przydatna, umożliwiając napisać powyższy kod w krótszym i czystszego sposób: a ||= b. Jednakże, nie ma (chociaż *=, +=a operatorami przypisania czynnych wynoszą).
Pytanie brzmi: dlaczego?
+=, *=, -=, /=, dlaczego nie %=działa?).
angle %= 360Lub vertexIndex %= numberOfVertices(dla listy wierzchołków zamkniętego wielokąta).
||=i &&=już wkrótce: „Być może z przyjemnością dowiesz się, że do JS2 / ES4 dodawane są również || = i && =. || = jest najbardziej przydatne z tych dwóch, ale nie ma powodu, aby pozostawić formę && przydziału ”. .