Moduli s pomočjo zaprtij v JavaScript
Zgoraj opisana težava je značilna za vsak programski jezik. Kot rešitev uporabljamo tako imenovane module.
Modul predstavlja neko konstrukcijo, narejeno tako, da so spremenljivke in funkcije te konstrukcije vidne le znotraj nje in ne motijo nikogar zunaj.
V JavaScript obstaja več vrst modulov. Najenostavnejši moduli s pomočjo zaprtij se ustvarijo s pomočjo takojšnjega klica funkcije, takole:
;(function() {
// tukaj koda modula
})();
Spremenljivke in funkcije, ustvarjene v takem modulu, ne bodo vidne zunaj tega modula:
;(function() {
let str = 'spremenljivka modula';
function func() {
alert('funkcija modula');
}
})();
// Tukaj spremenljivke in funkcije modula niso dostopne:
alert(str);
alert(func);