Tipo prefijo y postfijo en JavaScript

En realidad, las operaciones de incremento y decremento se pueden escribir de dos maneras. Veamos estas formas usando el ejemplo de ++, y para -- todo será análogo.

En la primera forma, la operación se escribe después del nombre de la variable, así: a++, y en la segunda forma, antes del nombre de la variable, así: ++a.

La primera forma se llama postfija, y la segunda - prefija. Veamos en qué casos se manifiesta la diferencia entre estas dos formas.

Supongamos que tenemos el código alert(a++) y el código alert(++a).

En el caso de alert(a++), la variable primero se mostrará y luego se incrementará en uno, y en el caso de alert(++a), la variable primero se incrementará en uno y luego se mostrará.

En el siguiente ejemplo, la primera alert mostrará 0, porque primero se realizará la salida a la pantalla, y solo luego la variable se incrementará:

javascriptlet num = 0;
alert(num++); // mostrará 0
alert(num);   // mostrará 1

Y ahora la variable primero se incrementará, y luego se realizará la salida a la pantalla:

javascriptlet num = 0;
alert(++num); // mostrará 1 - la variable aumentó inmediatamente

Este comportamiento es válido no solo para la salida a la pantalla, sino también para la asignación:

javascriptlet num1 = 0;
let num2 = num1++; // en la variable num2 se escribirá 0
alert(num2); // mostrará 0
alert(num1); // mostrará 1 - la variable num1 cambió después de escribirse en num2

Y ahora cambiemos la forma postfija por la prefija:

javascriptlet num1 = 0;
let num2 = ++num1; // en la variable num2 se escribirá 1
alert(num2); // mostrará 1

Si nuestra operación se realiza en una línea separada, no hay diferencia entre las formas prefija y postfija:

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

Sin ejecutar el código, determine qué se mostrará en la pantalla:

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

Sin ejecutar el código, determine qué se mostrará en la pantalla:

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

Sin ejecutar el código, determine qué se mostrará en la pantalla:

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

Sin ejecutar el código, determine qué se mostrará en la pantalla:

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

Sin ejecutar el código, determine qué se mostrará en la pantalla:

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

Sin ejecutar el código, determine qué se mostrará en la pantalla:

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

Sin ejecutar el código, determine qué se mostrará en la pantalla:

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

Sin ejecutar el código, determine qué se mostrará en la pantalla:

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

Sin ejecutar el código, determine qué se mostrará en la pantalla:

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