Moduli tramite chiusure in JavaScript
Il problema descritto sopra è tipico di qualsiasi linguaggio di programmazione. Come soluzione si utilizzano i cosiddetti moduli.
Un modulo è una struttura realizzata in modo che le variabili e le funzioni di questa struttura siano visibili solo al suo interno e non interferiscano con niente all'esterno.
In JavaScript esistono diversi tipi di moduli. I moduli tramite chiusure più semplici sono creati utilizzando una funzione richiamata immediatamente (IIFE), in questo modo:
;(function() {
// codice del modulo qui
})();
Le variabili e le funzioni create in un modulo di questo tipo non saranno visibili dall'esterno di questo modulo:
;(function() {
let str = 'variabile del modulo';
function func() {
alert('funzione del modulo');
}
})();
// Qui le variabili e le funzioni del modulo non sono accessibili:
alert(str);
alert(func);