В соответствии с ECMA-262, частью 11.13, Ниже приводится исчерпывающий перечень составных операторов присваивания: *= /= %= += -= <<= >>= >>>= &= ^= |=
.
В соответствии с частью 11.11, значение var c = a || b
будет помещено в a
значение true, c
если ToBoolean(a)
оно истинно, а b
значение в c
другое значение . Как таковой, логическое ИЛИ часто используется как оператор объединения, например
function (options) {
options = options || {};
}
Достаточно часто, COALESCE используется для задания значения по умолчанию для переменной, как было показано выше: a = a || b
.
Представляется , что составной оператор присваивания ||=
будет очень полезно, что позволяет писать код , указанный выше в более короткие и более чистой моды: a ||= b
. Тем не менее, это не существует (хотя *=
, +=
и другие операторы присваивания соединения).
Вопрос в том, почему?
+=
, *=
, -=
, /=
, почему бы не %=
работать?).
angle %= 360
или vertexIndex %= numberOfVertices
(для списка вершин замкнутого многоугольника).
||=
и &&=
скоро будет: «Возможно, вы будете рады узнать, что для JS2 / ES4 также добавляются || = и && =. полезный из двух, но нет никаких причин оставлять опциональную форму && вне. " ,