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