နာမည်ရှိ Function Expression ဖန်ရှင်များ ဂျာဗားစကရစ်ပရိုဂရမ်ဘာသာစကား၌
ယခုတစ်ကြိမ်၊ အမည်တစ်ခုရှိပြီး ဖော်မြူလာအတွင်း ပါဝင်နေသောကြောင့် Function Expression တစ်ခုဖြစ်လာမည့် ဖန်ရှင်တစ်ခုကို ဖန်တီးကြည့်ကြပါစို့။
+function func() {
console.log('!');
}
စိတ်ဝင်စားဖွယ်ကောင်းသည်မှာ func ဟူသော အမည်ဖြင့် ကျွန်ုပ်တို့၏ဖန်ရှင်ကို ခေါ်ယူအသုံးပြုရန် မတတ်နိုင်ခြင်းပင်ဖြစ်ပြီး၊ ထိုသို့လုပ်ဆောင်ပါက အမှားတစ်ခု ပေါ်ပေါက်လာမည်ဖြစ်သည်။
+function func() {
console.log('!');
}
func(); //!! အမှားတစ်ခု ဖော်ပြမည်
ကျွန်ုပ်တို့၏ဖန်ရှင်ကို ခေါ်ယူနိုင်စွမ်းရှိရန်၊ ထိုဖန်ရှင်ကို ကိုယ်စားပြုနိုင်သည့် မည်သည့်ကိန်းရှင်တစ်ခုခုသို့ သိမ်းဆည်းပေးရမည်ဖြစ်သည်။
let test = function func() {
console.log('!');
};
test(); // '!' ကို ဖော်ပြမည်
နောက်တစ်ကြိမ်ထပ်မံ ဖော်ပြရသော်၊ Function Expression တစ်ခုဖြစ်သော ဖန်ရှင်ကို ၎င်း၏အမည်ဖြင့် ခေါ်ယူ၍ မရနိုင်ပါ။ ထိုသို့သောဖန်ရှင်ကို ၎င်းအား သိမ်းဆည်းထားသော ကိန်းရှင်ကို အသုံးပြု၍သာ ခေါ်ယူနိုင်ပါသည်။
သို့သော်လည်း၊ Function Expression သည် ဖန်ရှင်တစ်ခု၏ အမည်ကို ပိုင်ဆိုင်နိုင်ပြီး ၎င်းသည် သဒ္ဒါအရ မှန်ကန်သော အရာတစ်ခုဖြစ်သည်။ ဤကဲ့သို့လိုအပ်သည့် အကြောင်းရင်းကို ကျွန်ုပ်တို့ နောက်လာမည့်သင်ခန်းစာများတွင် ဆက်လက်လေ့လာသွားပါမည်။
အကျဉ်းချုပ်ပြောရမည်ဆိုလျှင် - ဖန်ရှင်များသည် ၎င်းတို့တွင် အမည်ရှိသည် မရှိသည်ပေါ်တွင် မူတည်၍ Function Declaration သို့မဟုတ် Function Expression ဟုခေါ်ဆိုခြင်း မဟုတ်ပါ။ ၎င်းတို့သည် ဖော်မြူလာအတွင်း ပါဝင်သည့် အစိတ်အပိုင်းများဟုတ် မဟုတ် ဆိုသည့်အပေါ်တွင်သာ မူတည်၍ ခေါ်ဝေါ်ခြင်းဖြစ်သည်။
အထက်တွင်တွေ့ရသည့်အတိုင်း၊ အမည်မရှိသော ဖန်ရှင်သည် Function Declaration အဖြစ် သတ်မှတ်ခံရနိုင်ပြီး၊ အမည်ရှိသော ဖန်ရှင်သည်လည်း Function Expression တစ်ခု ဖြစ်နိုင်ပါသည်။