Modules par fermetures en JavaScript
Le problème décrit ci-dessus est caractéristique de tout langage de programmation. Comme solution, on utilise ce qu'on appelle les modules.
Un module est une construction conçue de telle sorte que les variables et les fonctions de cette construction ne soient visibles qu'à l'intérieur de celle-ci et n'interfèrent avec rien à l'extérieur.
Il existe plusieurs types de modules en JavaScript. Les modules par fermetures les plus simples sont créés à l'aide d'une fonction appelée sur place, comme ceci :
;(function() {
// ici le code du module
})();
Les variables et fonctions créées dans un tel module ne seront pas visibles de l'extérieur de ce module :
;(function() {
let str = 'variable du module';
function func() {
alert('fonction du module');
}
})();
// Ici, les variables et fonctions du module sont inaccessibles :
alert(str);
alert(func);