JavaScript හි පෙරණම් සහ පසුණම් වර්ගය
ඇත්ත වශයෙන්ම, වර්ධක සහ අවරෝහණ ක්රියාවන්
ලිවිය හැක්කේ ක්රම දෙකකිනි. අපි
මෙම ක්රම ++ හි උදාහරණයෙන් සලකා බලමු,
-- සඳහා ද ඒ හා සමාන වේ.
පළමු ක්රමයේ දී, ක්රියාව ලියනු ලබන්නේ
විචල්ය නාමයට පසුව, මෙසේය: a++,
දෙවන ක්රමයේ දී - විචල්ය නාමයට පෙර,
මෙසේය: ++a.
පළමු ආකෘතිය හැඳින්වෙන්නේ පසුණම් ලෙස, දෙවන ආකෘතිය - පෙරණම් ලෙස. අපි බලමු, කුමන අවස්ථාවල දී ඇතිවේ ද මෙම ආකෘති දෙක තුළ වෙනස.
අප සතුව alert(a++) කේතය සහ
alert(++a) කේතය ඇති බවට සිතමු.
alert(a++) අවස්ථාවේ දී විචල්යය පළමුව
ප්රදර්ශනය වී, ඉන්පසු එකකින් වැඩි වේ,
alert(++a) අවස්ථාවේ දී විචල්යය පළමුව
එකකින් වැඩි වී, ඉන්පසු ප්රදර්ශනය වේ.
පහත උදාහරණයේ දී පළමු alert ප්රදර්ශනය කරනු ඇත්තේ
0, මන්ද පළමුව ක්රියාත්මක වන්නේ තිරයට ප්රතිදානය
කිරීම, පසුව විචල්යය වැඩි වේ:
let num = 0;
alert(num++); // displays 0
alert(num); // displays 1
දැන් විචල්යය පළමුව වැඩි වී, පසුව තිරයට ප්රතිදානය කිරීම සිදු වේ:
let num = 0;
alert(++num); // displays 1 - variable increased immediately
මෙම හැසිරීම වලංගු වන්නේ නොවේ තිරයට ප්රතිදානය කිරීම සඳහා පමණක්, එසේම නිරූපණය සඳහා ද:
let num1 = 0;
let num2 = num1++; // 0 will be written to variable num2
alert(num2); // displays 0
alert(num1); // displays 1 - variable num1 changed after being written to num2
දැන් අපි පසුණම් ආකෘතිය පෙරණම් ආකෘතියට වෙනස් කරමු:
let num1 = 0;
let num2 = ++num1; // 1 will be written to variable num2
alert(num2); // displays 1
අපගේ ක්රියාවක් සිදු කරනු ලබන්නේ වෙනම පේළියක නම්, පෙරණම් සහ පසුණම් ආකෘති අතර වෙනසක් නොමැත:
let num = 0;
++num;
num++;
alert(num); // displays 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);