Moduły poprzez domknięcia w JavaScript

Opisany powyżej problem jest charakterystyczny dla dowolnego języka programowania. Jako rozwiązanie stosuje się tak zwane moduły.

Moduł reprezentuje pewną konstrukcję, wykonaną w taki sposób, aby zmienne i funkcje tej konstrukcji były widoczne tylko wewnątrz niej i nie przeszkadzały nikomu na zewnątrz.

W JavaScript istnieje kilka typów modułów. Najprostsze moduły poprzez domknięcia tworzy się za pomocą natychmiastowego wywołania funkcji, w ten sposób:

javascript;(function() {
  // tutaj kod modułu
})();

Zmienne i funkcje utworzone w takim module nie będą widoczne na zewnątrz tego modułu:

javascript;(function() {
  let str = 'zmienna modułu';
  
  function func() {
    alert('funkcja modułu');
  }
})();

// Tutaj zmienne i funkcje modułu są niedostępne:
alert(str);
alert(func);