Մոդուլներ փակումների միջոցով JavaScript-ում

Վերևում նկարագրված խնդիրը բնորոշ է ցանկացած ծրագրավորման լեզվի: Որպես լուծում օգտագործում են այսպես կոչված մոդուլներ:

Մոդուլը ներկայացնում է որոշակի կոնստրուկցիա, որն ստեղծված է այնպես, որ փոփոխականներն ու ֆունկցիաները այդ կոնստրուկցիայի տեսանելի լինեն միայն ներսում դրա և չխանգարեն դրսից:

JavaScript-ում գոյություն ունեն մոդուլների մի քանի տեսակներ: Ամենապարզ մոդուլները փակումների միջոցով ստեղծվում են ֆունկցիայի անմիջական կանչի միջոցով, ահա այսպես:

javascript;(function() {
  // այստեղ մոդուլի կոդն է
})();

Նման մոդուլում ստեղծված փոփոխականներն ու ֆունկցիաները տեսանելի չեն լինի այդ մոդուլից դուրս.

javascript;(function() {
  let str = 'մոդուլի փոփոխական';
  
  function func() {
    alert('մոդուլի ֆունկցիա');
  }
})();

// Այստեղ մոդուլի փոփոխականներն ու ֆունկցիաները հասանելի չեն.
alert(str);
alert(func);