Префиксни и постфиксни тип у JavaScript-у
У ствари, операције инкремента и декремента
се могу записати на два начина. Хајде да
размотримо ове начине на примеру ++,
а за -- све ће бити аналогно.
У првом начину операција се записује после
имена променљиве, овако: a++, а
у другом начину - пре имена променљиве,
овако: ++a.
Први облик се назива постфиксни, а други - префиксни. Хајде да видимо, у ком случају се испољава разлика између ова два облика.
Нека имамо код alert(a++) и
код alert(++a).
У случају alert(a++) променљива ће се прво
исписати, а затим ће се повећати за један,
а у случају alert(++a) променљива ће се прво
повећати за један, а затим ће се исписати.
У следећем примеру први alert ће исписати
0, јер ће се прво извршити испис
на екран, а тек онда ће се променљива повећати:
let num = 0;
alert(num++); // исписаће 0
alert(num); // исписаће 1
А сада ће се променљива прво повећати, а тек онда ће се извршити испис на екран:
let num = 0;
alert(++num); // исписаће 1 - променљива се одмах повећала
Овакво понашање важи не само за испис на екран, већ и за доделу вредности:
let num1 = 0;
let num2 = num1++; // у променљиву num2 уписаће се 0
alert(num2); // исписаће 0
alert(num1); // исписаће 1 - променљива num1 се променила након уписа у num2
А сада променимо постфиксни облик у префиксни:
let num1 = 0;
let num2 = ++num1; // у променљиву num2 уписаће се 1
alert(num2); // исписаће 1
Ако се наша операција извршава у посебном реду, онда нема разлике између префиксног и постфиксног облика:
let num = 0;
++num;
num++;
alert(num); // исписаће 2
Без покретања кода, одредите шта ће се исписати на екран:
let num = 3;
alert(++num);
Без покретања кода, одредите шта ће се исписати на екран:
let num = 3;
alert(num++);
Без покретања кода, одредите шта ће се исписати на екран:
let num = 3;
alert(--num);
Без покретања кода, одредите шта ће се исписати на екран:
let num = 3;
alert(num--);
Без покретања кода, одредите шта ће се исписати на екран:
let num1 = 3;
let num2 = ++num1;
alert(num1);
alert(num2);
Без покретања кода, одредите шта ће се исписати на екран:
let num1 = 3;
let num2 = num1++;
alert(num1);
alert(num2);
Без покретања кода, одредите шта ће се исписати на екран:
let num1 = 3;
let num2 = --num1;
alert(num1);
alert(num2);
Без покретања кода, одредите шта ће се исписати на екран:
let num1 = 3;
let num2 = num1--;
alert(num1);
alert(num2);
Без покретања кода, одредите шта ће се исписати на екран:
let num1 = 3;
num1++;
let num2 = num1--;
alert(num1++);
alert(--num2);