Prefiks og postfiks type i JavaScript
Faktisk kan operasjonene inkrement og dekrement
skrives på to måter. La oss
se på disse måtene med eksemplet ++,
og for -- vil alt være analogt.
På den første måten skrives operasjonen etter
variabelnavnet, slik: a++, og
på den andre måten - foran variabelnavnet,
slik: ++a.
Den første formen kalles postfiks, og den andre - prefiks. La oss se i hvilke tilfeller forskjellen mellom disse to formene viser seg.
La oss si at vi har koden alert(a++) og
koden alert(++a).
I tilfellet alert(a++) vil variabelen først
blir vist, og deretter økes med én,
og i tilfellet alert(++a) vil variabelen først
økes med én, og deretter bli vist.
I det neste eksemplet vil den første alert vise
0, fordi utskrift til skjermen skjer først,
og først deretter økes variabelen:
let num = 0;
alert(num++); // vil vise 0
alert(num); // vil vise 1
Og nå vil variabelen økes først, og først deretter skjer utskrift til skjermen:
let num = 0;
alert(++num); // vil vise 1 - variabelen økte umiddelbart
Dette gjelder ikke bare for utskrift til skjermen, men også for tilordning:
let num1 = 0;
let num2 = num1++; // til variabelen num2 vil 0 bli skrevet
alert(num2); // vil vise 0
alert(num1); // vil vise 1 - variabelen num1 endret seg etter skriving til num2
Og nå bytter vi fra postfiks form til prefiks form:
let num1 = 0;
let num2 = ++num1; // til variabelen num2 vil 1 bli skrevet
alert(num2); // vil vise 1
Hvis operasjonen vår utføres på en separat linje, er det ingen forskjell mellom prefiks og postfiks former:
let num = 0;
++num;
num++;
alert(num); // vil vise 2
Uten å kjøre koden, bestem hva som vil vises på skjermen:
let num = 3;
alert(++num);
Uten å kjøre koden, bestem hva som vil vises på skjermen:
let num = 3;
alert(num++);
Uten å kjøre koden, bestem hva som vil vises på skjermen:
let num = 3;
alert(--num);
Uten å kjøre koden, bestem hva som vil vises på skjermen:
let num = 3;
alert(num--);
Uten å kjøre koden, bestem hva som vil vises på skjermen:
let num1 = 3;
let num2 = ++num1;
alert(num1);
alert(num2);
Uten å kjøre koden, bestem hva som vil vises på skjermen:
let num1 = 3;
let num2 = num1++;
alert(num1);
alert(num2);
Uten å kjøre koden, bestem hva som vil vises på skjermen:
let num1 = 3;
let num2 = --num1;
alert(num1);
alert(num2);
Uten å kjøre koden, bestem hva som vil vises på skjermen:
let num1 = 3;
let num2 = num1--;
alert(num1);
alert(num2);
Uten å kjøre koden, bestem hva som vil vises på skjermen:
let num1 = 3;
num1++;
let num2 = num1--;
alert(num1++);
alert(--num2);