Prefix en postfix type in JavaScript

In werkelijkheid kunnen de increment- en decrement-bewerkingen op twee manieren worden geschreven. Laten we deze manieren bekijken aan de hand van het voorbeeld ++, en voor -- zal alles analoog zijn.

Bij de eerste manier wordt de bewerking geschreven na de variabelenaam, zoals dit: a++, en bij de tweede manier - vóór de variabelenaam, zoals dit: ++a.

De eerste vorm wordt postfix genoemd, en de tweede - prefix. Laten we eens kijken in welke gevallen het verschil tussen deze twee vormen naar voren komt.

Stel dat we de code alert(a++) hebben en de code alert(++a).

In het geval van alert(a++) wordt de variabele eerst weergegeven, en daarna met één verhoogd, en in het geval van alert(++a) wordt de variabele eerst met één verhoogd, en daarna weergegeven.

In het volgende voorbeeld zal de eerste alert 0 weergeven, omdat eerst de weergave op het scherm plaatsvindt, en pas daarna de variabele wordt verhoogd:

javascriptlet num = 0;
alert(num++); // geeft 0 weer
alert(num);   // geeft 1 weer

En nu wordt de variabele eerst verhoogd, en pas daarna volgt de weergave op het scherm:

javascriptlet num = 0;
alert(++num); // geeft 1 weer - variabele is direct verhoogd

Dit gedrag is niet alleen geldig voor weergave op het scherm, maar ook voor toewijzing:

javascriptlet num1 = 0;
let num2 = num1++; // in variabele num2 wordt 0 geschreven
alert(num2); // geeft 0 weer
alert(num1); // geeft 1 weer - variabele num1 veranderde na het schrijven naar num2

En nu veranderen we de postfix-vorm naar de prefix-vorm:

javascriptlet num1 = 0;
let num2 = ++num1; // in variabele num2 wordt 1 geschreven
alert(num2); // geeft 1 weer

Als onze bewerking op een aparte regel wordt uitgevoerd, is er geen verschil tussen de prefix- en postfix- vormen:

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

Zonder de code uit te voeren, bepaal wat er op het scherm wordt weergegeven:

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

Zonder de code uit te voeren, bepaal wat er op het scherm wordt weergegeven:

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

Zonder de code uit te voeren, bepaal wat er op het scherm wordt weergegeven:

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

Zonder de code uit te voeren, bepaal wat er op het scherm wordt weergegeven:

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

Zonder de code uit te voeren, bepaal wat er op het scherm wordt weergegeven:

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

Zonder de code uit te voeren, bepaal wat er op het scherm wordt weergegeven:

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

Zonder de code uit te voeren, bepaal wat er op het scherm wordt weergegeven:

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

Zonder de code uit te voeren, bepaal wat er op het scherm wordt weergegeven:

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

Zonder de code uit te voeren, bepaal wat er op het scherm wordt weergegeven:

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