Moduulit sulkeumien avulla JavaScriptissä
Yllä kuvattu ongelma on tyypillinen mille tahansa ohjelmointikielelle. Ratkaisuna käytetään niin kutsuttuja moduuleja.
Moduuli on tietynlainen rakenne, joka on tehty siten, että muuttujat ja funktiot tässä rakenteessa ovat näkyvissä vain sen sisällä eivätkä häiritse ketään ulkopuolella.
JavaScriptissä on olemassa useita moduulityyppejä. Yksinkertaisimmat moduulit sulkeumien avulla luodaan välittömän funktionkutsun avulla, näin:
;(function() {
// tässä moduulin koodi
})();
Tällaisessa moduulissa luodut muuttujat ja funktiot eivät ole näkyvissä tämän moduulin ulkopuolella:
;(function() {
let str = 'moduulin muuttuja';
function func() {
alert('moduulin funktio');
}
})();
// Täällä moduulin muuttujat ja funktiot eivät ole saatavilla:
alert(str);
alert(func);