Moduly prostredníctvom uzávärov v JavaScripte

Opísaný problém je charakteristický pre akýkoľvek programovací jazyk. Ako riešenie sa používajú takzvané moduly.

Modul predstavuje určitú konštrukciu, urobenú tak, že premenné a funkcie tejto konštrukcie sú viditeľné len vnútri nej a nezasahovali do okolia.

V JavaScripte existuje niekoľko typov modulov. Najjednoduchšie moduly prostredníctvom uzávärov sa vytvárajú pomocou okamžitého volania funkcie, takto:

javascript;(function() {
  // tu je kód modulu
})();

Premenné a funkcie vytvorené v takomto module nebudú viditeľné zvonku tohto modulu:

javascript;(function() {
  let str = 'premenná modulu';
  
  function func() {
    alert('funkcia modulu');
  }
})();

// Tu sú premenné a funkcie modulu nedostupné:
alert(str);
alert(func);