JavaScript'te Kapanışlar ile Modüller
Yukarıda açıklanan sorun herhangi bir programlama dilinde yaygındır. Bir çözüm olarak, sözde modüller kullanılır.
Bir modül, bu yapının değişkenlerinin ve fonksiyonlarının sadece onun içinde görünür ve dışarıdaki hiçbir şeyle çakışmayacak şekilde yapılmış bir yapıdır.
JavaScript'te birkaç modül türü vardır. En basit kapanışlar ile modüller bir fonksiyonu anında çağırarak oluşturulur, şu şekilde:
;(function() {
// modülün kodu burada
})();
Böyle bir modülde oluşturulan değişkenler ve fonksiyonlar, bu modülün dışından görünmez olacaktır:
;(function() {
let str = 'modül değişkeni';
function func() {
alert('modül fonksiyonu');
}
})();
// Burada modülün değişkenleri ve fonksiyonları erişilemez:
alert(str);
alert(func);