Selon ECMA-262, une partie 11.13, suivant la liste exhaustive des opérateurs d'affectation composés: *= /= %= += -= <<= >>= >>>= &= ^= |=
.
Selon la partie 11.11, var c = a || b
mettra de la a
valeur dans c
si ToBoolean(a)
est vrai et mettra de la b
valeur dans c
sinon. En tant que tel, le OU logique est souvent utilisé comme opérateur de fusion, par exemple
function (options) {
options = options || {};
}
Assez souvent, soudent est utilisé pour spécifier la valeur par défaut pour la variable, comme cela a été indiqué ci - dessus: a = a || b
.
Il semble que l' opérateur d'affectation composé ||=
serait vraiment utile, ce qui permet d'écrire le code ci - dessus de façon plus courte et plus propre: a ||= b
. Cependant, il n'est pas là (bien que *=
, +=
et d'autres opérateurs d'affectation composés le soient).
La question est, pourquoi?
+=
, *=
, -=
, /=
, pourquoi pas le %=
travail?).
angle %= 360
ou vertexIndex %= numberOfVertices
(pour la liste des sommets d'un polygone fermé).
||=
et &&=
viendrait bientôt: "Vous serez peut-être heureux d'apprendre que pour JS2 / ES4, || = et && = sont également ajoutés. || = est le plus utile des deux, mais il n'y a aucune raison de laisser la forme affectation-op de && out. " .