Sobes.tech
Junior

Co je to funkcionální výraz a k čemu je potřeba?

sobes.tech AI

Odpověď od AI

Funkcionální výraz je definice funkce uvnitř jiného výrazu. Není deklarován jako samostatný operátor function jméno(...) {}, ale je přiřazen proměnné, vlastnosti objektu nebo použit jako argument jiné funkce.

Na co to je?

  • Vytváření anonymních funkcí: Umožňuje definovat funkci bez jména, což je užitečné pro zpětné volání nebo jednorázové funkce.
  • Uzávěry (Closures): Funkcionální výrazy se často používají k vytváření uzávěrů, což umožňuje funkci "pamatovat" si proměnné z vnějšího prostředí, i po dokončení vnější funkce.
  • IIFE (Immediately Invoked Function Expressions): Zajišťují izolaci kódu a zabraňují znečištění globálního prostoru.
  • Dynamické definování funkcí: Funkce mohou být vytvářeny a přiřazovány v závislosti na podmínkách provádění programu.

Příklad anonymního funkcionálního výrazu:

// Přiřazení anonymní funkce proměnné
const greet = function(name) {
  console.log(`Ahoj, ${name}!`);
};

greet("Svět");

Příklad IIFE:

(function() {
  // Kód uvnitř této funkce se ihned provádí
  // a proměnné uvnitř nejsou přístupné zvenčí
  let privateVariable = "tajné";
  console.log(privateVariable);
})();

// console.log(privateVariable); // Chyba: privateVariable není definována