Sobes.tech
Junior — Middle

Μπορείτε να εξηγήσετε τι είναι ένα κλείσιμο στη JavaScript και πώς λειτουργεί;

sobes.tech AI

Απάντηση από AI

Το κλείσιμο στην JavaScript είναι μια λειτουργία που «θυμάται» το περιβάλλον στο οποίο δημιουργήθηκε, ακόμα και αν αυτό το περιβάλλον δεν είναι πλέον ενεργό. Με απλά λόγια, μια λειτουργία μέσα σε μια άλλη μπορεί να έχει πρόσβαση στις μεταβλητές της εξωτερικής λειτουργίας μετά την ολοκλήρωση της εκτέλεσής της.

Αυτό λειτουργεί επειδή κατά τη δημιουργία μιας λειτουργίας, αποθηκεύεται μια αναφορά στο λεξικό περιβάλλον όπου δηλώθηκε.

Παράδειγμα:

function εξωτερικό() {
  let μετρητής = 0;
  return function εσωτερικό() {
    μετρητής++;
    console.log(μετρητής);
  };
}

const μετρητής = εξωτερικό();
μετρητής(); // 1
μετρητής(); // 2

Εδώ, το εσωτερικό κλείνει τη μεταβλητή μετρητής από το εξωτερικό, διατηρώντας την κατάσταση της μεταξύ των κλήσεων.