JavaScript ရှိ Module များတွင် Object ကို Closure များမှတဆင့် Export လုပ်ခြင်း

ကျွန်ုပ်တို့တွင် အောက်ပါ Module ရှိသည်ဆိုပါစို့။

javascript;(function() {
  function func1() {
    alert('module function');
  }
  function func2() {
    alert('module function');
  }
  function func3() {
    alert('module function');
  }
})();

ကျွန်ုပ်တို့သည် Function သုံးခုလုံးကို Module ၏ အပြင်ဘက်သို့ Export လုပ်လိုသည်ဆိုပါစို့။ ဤကိစ္စတွင်၊ Module ၏ အပြင်ဘက်တွင် Function အမည်များ အပိုများမထွက်စေရန် Function အားလုံးကို Object တစ်ခုအတွင်း ရေးသွင်း၍ ထို Object ကို Export လုပ်ခြင်းသည် ပိုကောင်းပါသည်။

javascript;(function() {
  function func1() {
    alert('module function');
  }
  function func2() {
    alert('module function');
  }
  function func3() {
    alert('module function');
  }
  
  window.module = {func1: func1, func2: func2, func3: func3};
})();

Key အမည်များနှင့် Variable အမည်များ ကိုက်ညီသောကြောင့် Function များပါသော Object ကို ရိုးရှင်းအောင်ပြုလုပ်နိုင်ပါသည်။

javascript;(function() {
  function func1() {
    alert('module function');
  }
  function func2() {
    alert('module function');
  }
  function func3() {
    alert('module function');
  }
  
  window.module = {func1, func2, func3};
})();

အခြားနည်းလမ်းတစ်ခုဖြင့်လည်း သွားနိုင်ပါသည်။ Function ကို ဖော်ပြသောအခါတွင် Function များကို Object အတွင်းသို့ ချက်ချင်းရေးသွင်းပါမည်။ ဤကဲ့သို့ဖြစ်သည်။

javascript;(function() {
  let module = {};
  
  module.func1 = function() {
    alert('module function');
  }
  module.func2 = function() {
    alert('module function');
  }
  module.func3 = function() {
    alert('module function');
  }
  
  window.module = module;
})();
Задание 1

အောက်ပါ Module ကို ပေးထားပါသည်။

javascript;(function() {
  let str1 = 'module variable';
  let str2 = 'module variable';
  let str3 = 'module variable';
  
  function func1() {
    alert('module function');
  }
  function func2() {
    alert('module function');
  }
  function func3() {
    alert('module function');
  }
  function func4() {
    alert('module function');
  }
  function func5() {
    alert('module function');
  }
})();

ပထမ Function ငါးခုနှင့် ပထမ Variable နှစ်ခုပါသော Object ကို Module ၏ အပြင်ဘက်သို့ Export လုပ်ပါ။