JavaScript හි පෙරණම් සහ පසුණම් වර්ගය

ඇත්ත වශයෙන්ම, වර්ධක සහ අවරෝහණ ක්‍රියාවන් ලිවිය හැක්කේ ක්‍රම දෙකකිනි. අපි මෙම ක්‍රම ++ හි උදාහරණයෙන් සලකා බලමු, -- සඳහා ද ඒ හා සමාන වේ.

පළමු ක්‍රමයේ දී, ක්‍රියාව ලියනු ලබන්නේ විචල්‍ය නාමයට පසුව, මෙසේය: a++, දෙවන ක්‍රමයේ දී - විචල්‍ය නාමයට පෙර, මෙසේය: ++a.

පළමු ආකෘතිය හැඳින්වෙන්නේ පසුණම් ලෙස, දෙවන ආකෘතිය - පෙරණම් ලෙස. අපි බලමු, කුමන අවස්ථාවල දී ඇතිවේ ද මෙම ආකෘති දෙක තුළ වෙනස.

අප සතුව alert(a++) කේතය සහ alert(++a) කේතය ඇති බවට සිතමු.

alert(a++) අවස්ථාවේ දී විචල්‍යය පළමුව ප්‍රදර්ශනය වී, ඉන්පසු එකකින් වැඩි වේ, alert(++a) අවස්ථාවේ දී විචල්‍යය පළමුව එකකින් වැඩි වී, ඉන්පසු ප්‍රදර්ශනය වේ.

පහත උදාහරණයේ දී පළමු alert ප්‍රදර්ශනය කරනු ඇත්තේ 0, මන්ද පළමුව ක්‍රියාත්මක වන්නේ තිරයට ප්‍රතිදානය කිරීම, පසුව විචල්‍යය වැඩි වේ:

javascriptlet num = 0;
alert(num++); // displays 0
alert(num);   // displays 1

දැන් විචල්‍යය පළමුව වැඩි වී, පසුව තිරයට ප්‍රතිදානය කිරීම සිදු වේ:

javascriptlet num = 0;
alert(++num); // displays 1 - variable increased immediately

මෙම හැසිරීම වලංගු වන්නේ නොවේ තිරයට ප්‍රතිදානය කිරීම සඳහා පමණක්, එසේම නිරූපණය සඳහා ද:

javascriptlet 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

දැන් අපි පසුණම් ආකෘතිය පෙරණම් ආකෘතියට වෙනස් කරමු:

javascriptlet num1 = 0;
let num2 = ++num1; // 1 will be written to variable num2
alert(num2); // displays 1

අපගේ ක්‍රියාවක් සිදු කරනු ලබන්නේ වෙනම පේළියක නම්, පෙරණම් සහ පසුණම් ආකෘති අතර වෙනසක් නොමැත:

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

කේතය දියත් නොකර, තීරණය කරන්න, තිරය මත ප්‍රදර්ශනය වන්නේ කුමක් ද:

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

කේතය දියත් නොකර, තීරණය කරන්න, තිරය මත ප්‍රදර්ශනය වන්නේ කුමක් ද:

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

කේතය දියත් නොකර, තීරණය කරන්න, තිරය මත ප්‍රදර්ශනය වන්නේ කුමක් ද:

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

කේතය දියත් නොකර, තීරණය කරන්න, තිරය මත ප්‍රදර්ශනය වන්නේ කුමක් ද:

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

කේතය දියත් නොකර, තීරණය කරන්න, තිරය මත ප්‍රදර්ශනය වන්නේ කුමක් ද:

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

කේතය දියත් නොකර, තීරණය කරන්න, තිරය මත ප්‍රදර්ශනය වන්නේ කුමක් ද:

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

කේතය දියත් නොකර, තීරණය කරන්න, තිරය මත ප්‍රදර්ශනය වන්නේ කුමක් ද:

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

කේතය දියත් නොකර, තීරණය කරන්න, තිරය මත ප්‍රදර්ශනය වන්නේ කුමක් ද:

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

කේතය දියත් නොකර, තීරණය කරන්න, තිරය මත ප්‍රදර්ශනය වන්නේ කුමක් ද:

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