JavaScript ရှိ Closure များဖြင့် Modules များ
အထက်တွင်ဖော်ပြထားသော ပြဿနာသည် မည်သည့်ပရိုဂရမ်းမင်းဘာသာစကားအတွက်မဆို ရင်ဆိုင်ရနိုင်သည်။ အဖြေတစ်ခုအနေဖြင့် modules ဟုခေါ်သည်များကို အသုံးပြုကြသည်။
Module တစ်ခုသည် ဖွဲ့စည်းပုံတစ်ခုဖြစ်ပြီး ၎င်း၏အတွင်း၌သာ ပြောင်းလဲနိုင်သောကိန်းရှင်များနှင့် လုပ်ဆောင်ချက်များကို မြင်နိုင်စေရန် ပြုလုပ်ထားပြီး ၎င်းတို့သည် အပြင်ဘက်ရှိ မည်သူ့ကိုမျှ အနှောင့်အယှက်မဖြစ်စေရပါ။
JavaScript တွင် Module အမျိုးအစားများစွာရှိသည်။ အရှင်းဆုံးmodules through closures များကို Immediately Invoked Function Expression (IIFE) ကိုသုံး၍ ဤကဲ့သို့ဖန်တီးနိုင်သည်။
;(function() {
// module ၏ code ကို ဤနေရာတွင် ရေးပါ
})();
ထိုကဲ့သို့သော Module အတွင်း ဖန်တီးထားသော ပြောင်းလဲနိုင်သောကိန်းရှင်များနှင့် လုပ်ဆောင်ချက်များသည် Module ၏ အပြင်ဘက်မှ မြင်နိုင်မည် မဟုတ်ပါ။
;(function() {
let str = 'module variable';
function func() {
alert('module function');
}
})();
// Module ၏ ပြောင်းလဲနိုင်သောကိန်းရှင်များနှင့် လုပ်ဆောင်ချက်များသည် ဤနေရာတွင် မရနိုင်ပါ။
alert(str);
alert(func);