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