Навъи пешвандӣ ва пасвандӣ дар 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);