У відповідності з ECMA-262, частиною 11.13, Нижче наводиться вичерпний перелік складових операторів присвоювання: *= /= %= += -= <<= >>= >>>= &= ^= |=
.
Згідно з частиною 11.11, var c = a || b
буде введено a
значення c
if, якщо ToBoolean(a)
це правда, і введе b
значення в c
інше. Як такий, логічний АБО часто використовується як оператор злиття, наприклад
function (options) {
options = options || {};
}
Досить часто, COALESCE використовується для завдання значення за замовчуванням для змінної, як було показано вище: a = a || b
.
Звісно ж , що складовою оператор присвоювання ||=
буде дуже корисно, що дозволяє писати код , вказаний вище в більш короткі і більш чистою моди: a ||= b
. Тим НЕ менше, це не існує (хоча *=
, +=
і інші оператори присвоювання з'єднання).
Питання в тому, чому?
+=
, *=
, -=
, /=
, чому б не %=
працювати?).
angle %= 360
або vertexIndex %= numberOfVertices
(для списку вершин закритого багатокутника).
||=
і &&=
незабаром: "Ви можете бути раді дізнатись, що для JS2 / ES4 також додаються | | = і && =. || = більшість корисно для цих двох, але немає жодних причин залишати форму призначення та відтворення ". .