JavaScript-da prefiks we postfiks tipi
Aslynda inkrement we dekrement amallary
iki usulda ýazyp bolýar. Geliň
bu usullary ++ mysalynda gözden geçireýliň,
-- üçin bolsa, hemme zat şoňa meňzeş bolar.
Birinci usulda amal üýtgeýjiniň adyndan soň ýazylýar, şeýle: a++,
ikinji usulda bolsa - üýtgeýjiniň adyndan öň,
şeýle: ++a.
Birinci forma postfiks diýilýär, ikinjisi bolsa prefiks. Geliň göreliň, bu iki forma arasyndaky tapawut haýsy ýagdaýlarda görünýär.
Bizde alert(a++) kody we
alert(++a) kody bolsun.
alert(a++) ýagdaýynda üýtgeýji ilki
çykarylýar, soňra bir ölçeg artýar,
alert(++a) ýagdaýynda bolsa üýtgeýji ilki
bir ölçeg artýar, soňra çykarylýar.
Aşakdaky mysalda birinji alert
0 çykarar, sebäbi ilki ekrana çykarma işi ýerine ýetiriler,
soňra bolsa üýtgeýji artar:
let num = 0;
alert(num++); // 0 çykarar
alert(num); // 1 çykarar
Indi üýtgeýji ilki artar, soňra ekrana çykarma işi ýerine ýetiriler:
let num = 0;
alert(++num); // 1 çykarar - üýtgeýji derrew artyldy
Bu hereket diňe ekrana çykarma üçin däl, eýsem bellik üçin hem dogry:
let num1 = 0;
let num2 = num1++; // num2 üýtgeýjisine 0 ýazylar
alert(num2); // 0 çykarar
alert(num1); // 1 çykarar - num1 üýtgeýjisi num2-e ýazylandan soň üýtgedi
Indi postfiks formasyny prefiks bilen çalyşalyň:
let num1 = 0;
let num2 = ++num1; // num2 üýtgeýjisine 1 ýazylar
alert(num2); // 1 çykarar
Eger amalymyz aýratyn setirde ýerine ýetirilýän bolsa, prefiks we postfiks formalarynyň arasynda tapawut ýok:
let num = 0;
++num;
num++;
alert(num); // 2 çykarar
Kody işletmezden, ekrana näme çykajakdygyny kesgitläň:
let num = 3;
alert(++num);
Kody işletmezden, ekrana näme çykajakdygyny kesgitläň:
let num = 3;
alert(num++);
Kody işletmezden, ekrana näme çykajakdygyny kesgitläň:
let num = 3;
alert(--num);
Kody işletmezden, ekrana näme çykajakdygyny kesgitläň:
let num = 3;
alert(num--);
Kody işletmezden, ekrana näme çykajakdygyny kesgitläň:
let num1 = 3;
let num2 = ++num1;
alert(num1);
alert(num2);
Kody işletmezden, ekrana näme çykajakdygyny kesgitläň:
let num1 = 3;
let num2 = num1++;
alert(num1);
alert(num2);
Kody işletmezden, ekrana näme çykajakdygyny kesgitläň:
let num1 = 3;
let num2 = --num1;
alert(num1);
alert(num2);
Kody işletmezden, ekrana näme çykajakdygyny kesgitläň:
let num1 = 3;
let num2 = num1--;
alert(num1);
alert(num2);
Kody işletmezden, ekrana näme çykajakdygyny kesgitläň:
let num1 = 3;
num1++;
let num2 = num1--;
alert(num1++);
alert(--num2);