3.3 Les opérateurs d'affectation

Deuxième catégorie d'opérateurs : les opérateurs d'affectation. Vous en avez déjà rencontré un, l'opérateur d'affectation simple, le signe =, qui attribue une valeur à une variable, comme let x = 10;. Mais JavaScript propose toute une famille d'opérateurs d'affectation composés, conçus pour écrire un code plus court et plus expressif.

Dans la vidéo précédente, vous avez vu l'incrémentation x++, qui ajoute 1 à x. C'est exactement équivalent à x = x + 1. Mais que faire si l'on veut ajouter 5 au lieu de 1 ? L'opérateur d'incrémentation ne fonctionne plus. Il existe alors un raccourci : l'opérateur d'addition combiné à l'affectation, noté +=. Les deux lignes ci-dessous sont strictement équivalentes :

x = x + 5;
x += 5;

Tous les opérateurs combinés

Le même principe s'applique à tous les opérateurs arithmétiques vus précédemment. Voici la liste des raccourcis disponibles :

  • x += y équivaut à x = x + y
  • x -= y équivaut à x = x - y
  • x *= y équivaut à x = x * y
  • x /= y équivaut à x = x / y
  • x %= y équivaut à x = x % y
  • x **= y équivaut à x = x ** y

Imaginons par exemple que l'on veuille multiplier la valeur de x par 3. On peut écrire x = x * 3;, ou plus court : x *= 3;. Le résultat est identique, mais le second style est plus concis et plus idiomatique en JavaScript.

Ces opérateurs combinés se généralisent à toutes les opérations arithmétiques. Ils rendent le code plus lisible et limitent les répétitions. On se retrouve dans la prochaine vidéo pour aborder les opérateurs de comparaison.