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 || bmettra de la avaleur dans csi ToBoolean(a)est vrai et mettra de la bvaleur dans csinon. 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 %= 360ou 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. " .