Aina ya Kiambishi Awali na Kiambishi Tarehe katika JavaScript
Kwa hakika shughuli za nyongeza na upungufu
zinaweza kuandikwa kwa njia mbili. Hebu
tuchunguze njia hizi kwa kutumia mfano ++,
na kwa -- itakuwa sawa.
Katika njia ya kwanza, shughuli huandikwa baada
ya jina la kutofautisha, kama hii: a++, na
katika njia ya pili - kabla ya jina la kutofautisha,
kama hii: ++a.
Fomu ya kwanza inaitwa kiambishi tarehe, na ya pili - kiambishi awali. Hebu tuone, katika hali gani tofauti huonekana kati ya hizi fomu mbili.
Tuchukulie tuna msimbo alert(a++) na
msimbo alert(++a).
Katika kesi ya alert(a++) kutofautisha kwanza
kitatolewa, kisha kuongezeka kwa moja,
na katika kesi ya alert(++a) kutofautisha kwanza
kutaongezeka kwa moja, kisha kutolewa.
Katika mfano ujao alert wa kwanza utatoa
0, kwani mwanzo itafanya kazi kutoa
kwenye skrini, na kisha tu kutofautisha kitaongezeka:
let num = 0;
alert(num++); // itatoa 0
alert(num); // itatoa 1
Sasa kutofautisha kwanza kitaongezeka, na kisha tu kutakuwa na kutoa kwenye skrini:
let num = 0;
alert(++num); // itatoa 1 - kutofautisha kuliongezeka mara moja
Tabia hii ni sahihi sio tu kwa kutoa kwenye skrini, bali pia kwa kugawia:
let num1 = 0;
let num2 = num1++; // kwenye kutofautisha num2 kitaandikwa 0
alert(num2); // itatoa 0
alert(num1); // itatoa 1 - kutofautisha num1 kilibadilika baada ya kuandika kwenye num2
Sasa tubadilishe fomu ya kiambishi tarehe kuwa kiambishi awali:
let num1 = 0;
let num2 = ++num1; // kwenye kutofautisha num2 kitaandikwa 1
alert(num2); // itatoa 1
Ikiwa shughuli yetu inafanywa kwenye mstari tofauti, basi hakuna tofauti kati ya fomu za kiambishi awali na kiambishi tarehe:
let num = 0;
++num;
num++;
alert(num); // itatoa 2
Bila kukimbiza msimbo, amua, nini kitatolewa kwenye skrini:
let num = 3;
alert(++num);
Bila kukimbiza msimbo, amua, nini kitatolewa kwenye skrini:
let num = 3;
alert(num++);
Bila kukimbiza msimbo, amua, nini kitatolewa kwenye skrini:
let num = 3;
alert(--num);
Bila kukimbiza msimbo, amua, nini kitatolewa kwenye skrini:
let num = 3;
alert(num--);
Bila kukimbiza msimbo, amua, nini kitatolewa kwenye skrini:
let num1 = 3;
let num2 = ++num1;
alert(num1);
alert(num2);
Bila kukimbiza msimbo, amua, nini kitatolewa kwenye skrini:
let num1 = 3;
let num2 = num1++;
alert(num1);
alert(num2);
Bila kukimbiza msimbo, amua, nini kitatolewa kwenye skrini:
let num1 = 3;
let num2 = --num1;
alert(num1);
alert(num2);
Bila kukimbiza msimbo, amua, nini kitatolewa kwenye skrini:
let num1 = 3;
let num2 = num1--;
alert(num1);
alert(num2);
Bila kukimbiza msimbo, amua, nini kitatolewa kwenye skrini:
let num1 = 3;
num1++;
let num2 = num1--;
alert(num1++);
alert(--num2);