Les types préfixe et postfixe en JavaScript

En fait, les opérations d'incrémentation et de décrémentation peuvent être écrites de deux manières. Examinons ces méthodes en utilisant ++ comme exemple, et pour --, tout sera analogue.

Dans la première méthode, l'opération est écrite après le nom de la variable, comme ceci : a++, et dans la seconde méthode - avant le nom de la variable, comme ceci : ++a.

La première forme est appelée postfixe, et la seconde - préfixe. Voyons dans quels cas la différence entre ces deux formes se manifeste.

Supposons que nous ayons le code alert(a++) et le code alert(++a).

Dans le cas de alert(a++), la variable est d'abord affichée, puis augmentée de un, et dans le cas de alert(++a), la variable est d'abord augmentée de un, puis affichée.

Dans l'exemple suivant, le premier alert affichera 0, car l'affichage à l'écran se produit d'abord, et ensuite seulement la variable est incrémentée :

javascriptlet num = 0;
alert(num++); // affichera 0
alert(num);   // affichera 1

Et maintenant, la variable est d'abord incrémentée, et ensuite seulement, l'affichage à l'écran a lieu :

javascriptlet num = 0;
alert(++num); // affichera 1 - la variable a été incrémentée immédiatement

Ce comportement est valable non seulement pour l'affichage à l'écran, mais aussi pour l'affectation :

javascriptlet num1 = 0;
let num2 = num1++; // la variable num2 recevra la valeur 0
alert(num2); // affichera 0
alert(num1); // affichera 1 - la variable num1 a changé après l'affectation à num2

Maintenant, changeons la forme postfixe en forme préfixe :

javascriptlet num1 = 0;
let num2 = ++num1; // la variable num2 recevra la valeur 1
alert(num2); // affichera 1

Si notre opération est effectuée sur une ligne distincte, il n'y a aucune différence entre les formes préfixe et postfixe :

javascriptlet num = 0;
++num;
num++;
alert(num); // affichera 2
Задание 1

Sans exécuter le code, déterminez ce qui sera affiché à l'écran :

javascriptlet num = 3;
alert(++num);
Задание 2

Sans exécuter le code, déterminez ce qui sera affiché à l'écran :

javascriptlet num = 3;
alert(num++);
Задание 3

Sans exécuter le code, déterminez ce qui sera affiché à l'écran :

javascriptlet num = 3;
alert(--num);
Задание 4

Sans exécuter le code, déterminez ce qui sera affiché à l'écran :

javascriptlet num = 3;
alert(num--);
Задание 5

Sans exécuter le code, déterminez ce qui sera affiché à l'écran :

javascriptlet num1 = 3;
let num2 = ++num1;
alert(num1);
alert(num2);
Задание 6

Sans exécuter le code, déterminez ce qui sera affiché à l'écran :

javascriptlet num1 = 3;
let num2 = num1++;
alert(num1);
alert(num2);
Задание 7

Sans exécuter le code, déterminez ce qui sera affiché à l'écran :

javascriptlet num1 = 3;
let num2 = --num1;
alert(num1);
alert(num2);
Задание 8

Sans exécuter le code, déterminez ce qui sera affiché à l'écran :

javascriptlet num1 = 3;
let num2 = num1--;
alert(num1);
alert(num2);
Задание 9

Sans exécuter le code, déterminez ce qui sera affiché à l'écran :

javascriptlet num1 = 3;
num1++;
let num2 = num1--;
alert(num1++);
alert(--num2);