JavaScript တွင် Closure များမှတစ်ဆင့် Module ဆက်တင်များကို ပေးပို့ခြင်း

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

javascript;(function(root, type, amount) {
  let parent = document.querySelector(root);
  
  for (let i = 1; i <= amount; i++) {
    let elem = document.createElement(type);
    parent.append(elem);
  }
})('#parent', 'p', 5);

မြင်တွေ့ရသည့်အတိုင်း ဤ module သို့ ဆက်တင် သုံးခုကို ပေးပို့သည်- မိဘ element ၏ selector၊ ဖန်တီးရန် element အမျိုးအစားနှင့် element အရေအတွက်။

ထိုကဲ့သို့သော ဆက်တင်များကို ယေဘုယျအားဖြင့် object အဖြစ် ပြုလုပ်ကြသည်။

javascriptlet config = {
  root:  '#parent',
  type:  'p',
  amount: 5
}

ကျွန်ုပ်တို့၏ object ကို module ၏ parameter အဖြစ် ပေးပို့ကြပါစို့။

javascript;(function(config) {
  let parent = document.querySelector(config.root);
  
  for (let i = 1; i <= config.amount; i++) {
    let elem = document.createElement(config.type);
    parent.append(elem);
  }
})(config);

ဆက်တင် object ကို destructuring ပြုလုပ်ခြင်းသည် ပိုမိုလက်ခံထားသောပုံစံဖြစ်သည်။

javascript;(function({root, type, amount}) {
  let parent = document.querySelector(root);
  
  for (let i = 1; i <= amount; i++) {
    let elem = document.createElement(type);
    parent.append(elem);
  }
})(config);