Moduli kroz zatvaranja u JavaScript-u
Gore opisan problem karakterističan je za bilo koji programski jezik. Kao rešenje primenjuju se takozvani moduli.
Modul predstavlja neku konstrukciju, učinjenu tako da promenljive i funkcije ove konstrukcije budu vidljive samo unutar nje i ne ometaju nikoga spolja.
U JavaScript-u postoji nekoliko tipova modula. Najjednostavniji moduli kroz zatvaranja kreiraju se pomoću poziva funkcije na mestu, ovako:
;(function() {
// ovde je kod modula
})();
Promenljive i funkcije, kreirane u ovakvom modulu, neće biti vidljive spolja ovog modula:
;(function() {
let str = 'promenljiva modula';
function func() {
alert('funkcija modula');
}
})();
// Ovde promenljive i funkcije modula nisu dostupne:
alert(str);
alert(func);