Префиксен и постфиксен тип во 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);