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:

javascriptlet num = 0;
alert(num++); // 0 çykarar
alert(num);   // 1 çykarar

Indi üýtgeýji ilki artar, soňra ekrana çykarma işi ýerine ýetiriler:

javascriptlet 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:

javascriptlet 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ň:

javascriptlet 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:

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

Kody işletmezden, ekrana näme çykajakdygyny kesgitläň:

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

Kody işletmezden, ekrana näme çykajakdygyny kesgitläň:

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

Kody işletmezden, ekrana näme çykajakdygyny kesgitläň:

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

Kody işletmezden, ekrana näme çykajakdygyny kesgitläň:

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

Kody işletmezden, ekrana näme çykajakdygyny kesgitläň:

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

Kody işletmezden, ekrana näme çykajakdygyny kesgitläň:

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

Kody işletmezden, ekrana näme çykajakdygyny kesgitläň:

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

Kody işletmezden, ekrana näme çykajakdygyny kesgitläň:

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

Kody işletmezden, ekrana näme çykajakdygyny kesgitläň:

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