Sobes.tech
Junior

Τι είναι μια λειτουργική έκφραση και ποιος είναι ο σκοπός της;

sobes.tech AI

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

Η λειτουργική έκφραση είναι ένας ορισμός λειτουργίας μέσα σε μια άλλη έκφραση. Δεν δηλώνεται ως ξεχωριστός τελεστής function όνομα(...) {}, αλλά ανατίθεται σε μια μεταβλητή, ιδιότητα αντικειμένου ή χρησιμοποιείται ως όρισμα άλλης λειτουργίας.

Για τι χρειάζεται;

  • Δημιουργία ανώνυμων λειτουργιών: Επιτρέπει τον ορισμό μιας λειτουργίας χωρίς όνομα, χρήσιμο για callbacks ή λειτουργίες μιας χρήσης.
  • Κλεισίματα (Closures): Οι λειτουργικές εκφράσεις χρησιμοποιούνται συχνά για τη δημιουργία κλεισιμάτων, επιτρέποντας στη λειτουργία να "θυμάται" μεταβλητές από το εξωτερικό περιβάλλον, ακόμα και μετά την ολοκλήρωση της εξωτερικής λειτουργίας.
  • IIFE (Αμέσως καλούμενες εκφράσεις λειτουργίας): Παρέχουν απομόνωση κώδικα και αποτρέπουν τη μόλυνση του παγκόσμιου χώρου.
  • Δυναμικός ορισμός λειτουργιών: Οι λειτουργίες μπορούν να δημιουργηθούν και να ανατεθούν ανάλογα με τις συνθήκες εκτέλεσης του προγράμματος.

Παράδειγμα ανώνυμης λειτουργικής έκφρασης:

// Ανάθεση ανώνυμης λειτουργίας σε μια μεταβλητή
const greet = function(name) {
  console.log(`Γειά σου, ${name}!`);
};

greet("Κόσμος");

Παράδειγμα IIFE:

(function() {
  // Ο κώδικας μέσα σε αυτήν τη λειτουργία εκτελείται άμεσα
  // και οι μεταβλητές μέσα σε αυτήν δεν είναι προσβάσιμες από έξω
  let privateVariable = "μυστικό";
  console.log(privateVariable);
})();

// console.log(privateVariable); // Σφάλμα: privateVariable δεν ορίζεται