Μονάδες μέσω Κλεισίματος σε JavaScript
Το πρόβλημα που περιγράφηκε παραπάνω είναι χαρακτηριστικό οποιασδήποτε γλώσσας προγραμματισμού. Ως λύση χρησιμοποιούνται τα λεγόμενα μονάδες.
Μια μονάδα αντιπροσωπεύει μια κατασκευή που έχει σχεδιαστεί έτσι ώστε οι μεταβλητές και οι συναρτήσεις αυτής της κατασκευής να είναι ορατές μόνο στο εσωτερικό της και να μην παρεμβαίνουν σε τίποτα εξωτερικά.
Στο JavaScript υπάρχουν διάφοροι τύποι μονάδων. Οι απλούστερες μονάδες μέσω κλεισίματος δημιουργούνται χρησιμοποιώντας την άμεση κλήση συνάρτησης, έτσι:
;(function() {
// εδώ ο κώδικας της μονάδας
})();
Οι μεταβλητές και οι συναρτήσεις που δημιουργούνται σε μια τέτοια μονάδα, δεν θα είναι ορατές εξωτερικά αυτής της μονάδας:
;(function() {
let str = 'μεταβλητή μονάδας';
function func() {
alert('συνάρτηση μονάδας');
}
})();
// Εδώ οι μεταβλητές και οι συναρτήσεις της μονάδας δεν είναι προσβάσιμες:
alert(str);
alert(func);