Prefik och postfikstyp i JavaScript

Faktum är att operationerna inkrement och dekrement kan skrivas på två sätt. Låt oss titta på dessa sätt med exemplet ++, och för -- kommer allt att vara analogt.

I det första sättet skrivs operationen efter variabelnamnet, så här: a++, och i det andra sättet - före variabelnamnet, så här: ++a.

Den första formen kallas postfix, och den andra - prefix. Låt oss se i vilka fall skillnaden mellan dessa två former uppstår.

Låt oss säga att vi har koden alert(a++) och koden alert(++a).

I fallet alert(a++) kommer variabeln först att visas, och sedan ökas med ett, medan i fallet alert(++a) kommer variabeln först att ökas med ett, och sedan visas.

I nästa exempel kommer den första alert att visa 0, eftersom utskriften till skärmen först sker, och först därefter ökas variabeln:

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

Och nu kommer variabeln först att ökas, och först därefter sker utskriften till skärmen:

javascriptlet num = 0;
alert(++num); // visar 1 - variabeln ökade omedelbart

Detta beteende gäller inte bara för utskrift till skärmen, utan även för tilldelning:

javascriptlet num1 = 0;
let num2 = num1++; // i variabeln num2 kommer 0 att skrivas
alert(num2); // visar 0
alert(num1); // visar 1 - variabeln num1 ändrades efter att ha skrivits till num2

Och nu ändrar vi postfixformen till prefixform:

javascriptlet num1 = 0;
let num2 = ++num1; // i variabeln num2 kommer 1 att skrivas
alert(num2); // visar 1

Om vår operation utförs på en separat rad, så finns det ingen skillnad mellan prefix- och postfix- former:

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

Utan att köra koden, bestäm vad som kommer att visas på skärmen:

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

Utan att köra koden, bestäm vad som kommer att visas på skärmen:

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

Utan att köra koden, bestäm vad som kommer att visas på skärmen:

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

Utan att köra koden, bestäm vad som kommer att visas på skärmen:

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

Utan att köra koden, bestäm vad som kommer att visas på skärmen:

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

Utan att köra koden, bestäm vad som kommer att visas på skärmen:

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

Utan att köra koden, bestäm vad som kommer att visas på skärmen:

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

Utan att köra koden, bestäm vad som kommer att visas på skärmen:

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

Utan att köra koden, bestäm vad som kommer att visas på skärmen:

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