Junior — Middle
Ποιος είναι ο ρόλος των closures (κλεισίματα) στη JavaScript και για ποιο λόγο χρησιμοποιούνται;
sobes.tech AI
Απάντηση από AI
Οι κλεισίματα (closures) στη JavaScript είναι λειτουργίες που "θυμούνται" το περιβάλλον στο οποίο δημιουργήθηκαν, συμπεριλαμβανομένης της πρόσβασης σε μεταβλητές από μια εξωτερική λειτουργία ακόμα και μετά το τέλος της.
Ο ρόλος των κλεισιμάτων:
- Επιτρέπουν τη δημιουργία ιδιωτικών μεταβλητών και μεθόδων, κρυπτογραφώντας δεδομένα.
- Χρησιμοποιούνται για τη δημιουργία λειτουργιών με διατηρημένη κατάσταση.
- Βοηθούν στην αποφυγή μόλυνσης του παγκόσμιου χώρου.
- Χρησιμοποιούνται στον λειτουργικό προγραμματισμό για τη δημιουργία λειτουργιών με μερικώς εφαρμοσμένα επιχειρήματα.
Παράδειγμα:
function makeCounter() {
let count = 0; // ιδιωτική μεταβλητή
return function() {
count += 1;
return count;
};
}
const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2
Εδώ, η εσωτερική λειτουργία διατηρεί την πρόσβαση στη μεταβλητή count της εξωτερικής λειτουργίας, δημιουργώντας ένα κλείσιμο.