Sobes.tech
Junior

Czym jest wyrażenie funkcyjne i do czego jest potrzebne?

sobes.tech AI

Odpowiedź od AI

Wyrażenie funkcyjne to definicja funkcji wewnątrz innego wyrażenia. Nie jest deklarowane jako oddzielny operator function nazwa(...) {}, lecz przypisywane do zmiennej, właściwości obiektu lub używane jako argument innej funkcji.

Do czego to służy?

  • Tworzenie funkcji anonimowych: Pozwala na zdefiniowanie funkcji bez nazwy, co jest przydatne dla funkcji zwrotnych lub jednorazowych.
  • Zamknięcia (Closures): Wyrażenia funkcyjne są często używane do tworzenia zamknięć, umożliwiając funkcji "zapamiętanie" zmiennych z zewnętrznego zakresu, nawet po zakończeniu działania funkcji zewnętrznej.
  • IIFE (Immediately Invoked Function Expressions): Zapewniają izolację kodu i zapobiegają zanieczyszczeniu przestrzeni globalnej.
  • Dynamika definiowania funkcji: Funkcje mogą być tworzone i przypisywane w zależności od warunków wykonania programu.

Przykład anonimowego wyrażenia funkcyjnego:

// Przypisanie anonimowej funkcji do zmiennej
const greet = function(name) {
  console.log(`Cześć, ${name}!`);
};

greet("Świat");

Przykład IIFE:

(function() {
  // Kod wewnątrz tej funkcji jest wykonywany natychmiastowo
  // a zmienne wewnątrz niej nie są dostępne z zewnątrz
  let privateVariable = "sekret";
  console.log(privateVariable);
})();

// console.log(privateVariable); // Błąd: privateVariable nie jest zdefiniowana