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 ကိုထုတ်ပြမည် - num2 ထဲသို့ ရေးထည့်ပြီးနောက် num1 ကိန်းရှင် ပြောင်းလဲသွားသည်
ယခု အက္ခရာနောက်ထား ပုံစံမှ အက္ခရာရှေ့ထား ပုံစံသို့ ပြောင်းလိုက်ကြပါစို့။
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);