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