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