Sobes.tech
Junior

Čo je to funkčný výraz a na čo je potrebný?

sobes.tech AI

Odpoveď od AI

Funkcionálny výraz je definícia funkcie v rámci iného výrazu. Nie je deklarovaný ako samostatný operátor function názov(...) {}, ale je priradený k premennej, vlastnosti objektu alebo použitý ako argument inej funkcie.

Na čo to je?

  • Vytváranie anonymných funkcií: Umožňuje definovať funkciu bez mena, čo je užitočné pre spätné volania alebo jednorazové funkcie.
  • Závery (Closures): Funkcionálne výrazy sa často používajú na vytváranie záverov, čo umožňuje funkcii "pamätať" si premenné z vonkajšieho prostredia, aj po ukončení vonkajšej funkcie.
  • IIFE (Immediately Invoked Function Expressions): Zabezpečujú izoláciu kódu a zabraňujú znečisteniu globálneho priestoru.
  • Dynamické definovanie funkcií: Funkcie môžu byť vytvorené a priradené v závislosti od podmienok vykonávania programu.

Príklad anonymného funkcionálneho výrazu:

// Priradenie anonymnej funkcie premennej
const greet = function(name) {
  console.log(`Ahoj, ${name}!`);
};

greet("Svet");

Príklad IIFE:

(function() {
  // Kód vnútri tejto funkcie sa okamžite vykoná
  // a premenné v nej nie sú dostupné zvonku
  let privateVariable = "tajomstvo";
  console.log(privateVariable);
})();

// console.log(privateVariable); // Chyba: privateVariable nie je definovaná