Tipo prefisso e postfisso in JavaScript

In realtà, le operazioni di incremento e decremento possono essere scritte in due modi. Esaminiamo questi metodi usando l'esempio di ++, e per -- tutto sarà analogo.

Nel primo metodo, l'operazione viene scritta dopo il nome della variabile, in questo modo: a++, mentre nel secondo metodo - prima del nome della variabile, in questo modo: ++a.

La prima forma è chiamata postfissa, e la seconda - prefissa. Vediamo in quali casi si manifesta la differenza tra queste due forme.

Supponiamo di avere il codice alert(a++) e il codice alert(++a).

Nel caso di alert(a++) la variabile prima viene visualizzata, e poi aumenta di uno, mentre nel caso di alert(++a) la variabile prima aumenta di uno, e poi viene visualizzata.

Nel seguente esempio, il primo alert visualizzerà 0, perché prima avverrà l'output a schermo, e solo dopo la variabile aumenterà:

javascriptlet num = 0;
alert(num++); // visualizzerà 0
alert(num);   // visualizzerà 1

E ora la variabile prima aumenterà, e solo dopo ci sarà l'output a schermo:

javascriptlet num = 0;
alert(++num); // visualizzerà 1 - la variabile è aumentata immediatamente

Questo comportamento è valido non solo per l'output a schermo, ma anche per l'assegnazione:

javascriptlet num1 = 0;
let num2 = num1++; // nella variabile num2 verrà scritto 0
alert(num2); // visualizzerà 0
alert(num1); // visualizzerà 1 - la variabile num1 è cambiata dopo l'assegnazione a num2

E ora cambiamo la forma postfissa con quella prefissa:

javascriptlet num1 = 0;
let num2 = ++num1; // nella variabile num2 verrà scritto 1
alert(num2); // visualizzerà 1

Se la nostra operazione viene eseguita su una riga separata, non c'è differenza tra le forme prefissa e postfissa:

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

Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:

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

Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:

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

Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:

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

Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:

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

Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:

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

Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:

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

Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:

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

Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:

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

Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:

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