Aké spôsoby vytvárania funkcií poznáte?
sobes.tech AI
Odpoveď od AI
Existuje niekoľko spôsobov, ako vytvárať funkcie v JavaScripte, každý so svojimi špecifikami:
-
Deklarácie funkcií (Function Declarations): Klasický spôsob vytvárania funkcie. Sú zdvihnuté (hoisted) hore v rámci viditeľnosti, čo umožňuje ich volanie pred deklaráciou.
// Deklarácia funkcie pomocou function function greet(name) { return "Ahoj, " + name + "!"; } -
Výrazy funkcií (Function Expressions): Funkcia je vytvorená ako časť výrazu a priradená premennej. Nie sú zdvihnuté (not hoisted) v rovnakom rozsahu ako deklarácie funkcií.
// Výraz funkcie const greet = function(name) { return "Ahoj, " + name + "!"; }; -
Šípové funkcie (Arrow Functions): Skrátená syntax pre výrazy funkcií. Odlišujú sa od klasických funkcií vlastnosťami
thisa absenciou vlastných argumentov (arguments).// Šípová funkcia const greet = (name) => { return "Ahoj, " + name + "!"; }; // Skrátená forma šípovej funkcie s implicitným návratom const greetShort = (name) => "Ahoj, " + name + "!"; -
Konštruktorové funkcie (Constructor Functions): Používajú sa na vytváranie objektov. Volajú sa s kľúčovým slovom
new.// Konštruktorová funkcia function Person(name, age) { this.name = name; this.age = age; } // Vytvorenie inštancie objektu pomocou konštruktora const person1 = new Person("Alexey", 30); -
Metódy triedy (Class Methods): V triedach (syntaktický cukor nad prototypovým dedičstvom) sú funkcie definované ako metódy.
// Vyhlásenie triedy s metódou class Greeter { greet(name) { return "Ahoj, " + name + "!"; } } // Vytvorenie inštancie triedy a volanie metódy const greeter = new Greeter(); const message = greeter.greet("Svet"); -
IIFE (Immediately Invoked Function Expressions): Funkčný výraz, ktorý sa vykoná okamžite po vytvorení. Často sa používa na vytvorenie lokálneho rozsahu viditeľnosti.
// IIFE (function() { // Kód vnútri IIFE console.log("Táto funkcia sa vykonáva okamžite!"); })();
Každá metóda má svoje výhody a nevýhody, a výber závisí od konkrétneho zadania a kontextu.