Sobes.tech
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, δημιουργώντας ένα κλείσιμο. Αυτό επιτρέπει τη διατήρηση της κατάστασης μεταξύ των κλήσεων της λειτουργίας.