Modules via sluitingen in JavaScript
Het hierboven beschreven probleem is kenmerkend voor elke programmeertaal. Als oplossing worden zogenaamde modules gebruikt.
Een module is een constructie die zo is gemaakt dat de variabelen en functies van deze constructie alleen van binnenuit zichtbaar zijn en niets van buitenaf in de weg zitten.
In JavaScript bestaan verschillende soorten modules. De eenvoudigste modules via sluitingen worden gemaakt met behulp van een direct aangeroepen functie-expressie, zoals hier:
;(function() {
// hier de modulecode
})();
Variabelen en functies die in zo'n module zijn gemaakt, zullen van buiten deze module niet zichtbaar zijn:
;(function() {
let str = 'module variabele';
function func() {
alert('module functie');
}
})();
// Hier zijn de variabelen en functies van de module niet beschikbaar:
alert(str);
alert(func);