Moduler ved hjelp av lukninger i JavaScript
Problemet beskrevet ovenfor er karakteristisk for ethvert programmeringsspråk. Som en løsning bruker man såkalte moduler.
En modul representerer en konstruksjon laget på en slik måte at variabler og funksjoner innenfor denne konstruksjonen kun er synlige inni den og ikke forstyrrer noe utenfor.
I JavaScript finnes det flere typer moduler. De enkleste modulene ved hjelp av lukninger opprettes ved hjelp av umiddelbar funksjonskall, slik som dette:
;(function() {
// kode for modulen her
})();
Variabler og funksjoner opprettet i en slik modul vil ikke være synlige utenfor denne modulen:
;(function() {
let str = 'modulvariabel';
function func() {
alert('modulfunksjon');
}
})();
// Her er variabler og funksjoner fra modulen utilgjengelige:
alert(str);
alert(func);