Aké funkcie existujú v JavaScript?
sobes.tech AI
Odpoveď od AI
V JavaScripte existujú tieto druhy funkcií:
-
Deklarácie funkcií (Function Declarations): Základný syntax na definovanie funkcie. Sú hoistované pri kompilácii.
function sayHello() { // Telo funkcie console.log("Ahoj!"); } -
Výrazy funkcií (Function Expressions): Funkcia je priradená premennej. Nie sú hoistované. Môžu byť pomenované alebo anonymné.
const greetUser = function(name) { // Telo funkcie console.log(`Ahoj, ${name}!`); }; -
Šípové funkcie (Arrow Functions): Kompaktnejší syntax zavedený v ES6. Majú špecifické správanie
this.const add = (a, b) => a + b; -
Metódy objektov (Object Methods): Funkcie definované ako vlastnosti objektu.
const user = { name: "Ivan", sayName: function() { console.log(this.name); } }; -
Generatorové funkcie (Generator Functions): Funkcie, ktoré môžu pozastaviť a pokračovať vo vykonávaní pomocou
yield. Vracia iterátor.function* counter() { let i = 0; while (true) { yield i++; } } -
Asynchrónne funkcie (Async Functions): Funkcie pracujúce s promisami a umožňujúce použitie
awaitna čakanie na dokončenie promisov.async function fetchData() { const response = await fetch("https://api.example.com/data"); const data = await response.json(); return data; } -
Konštruktorové funkcie (Constructor Functions): Funkcie používané s operátorom
newna vytváranie objektov. Tradičný prístup pred príchodom tried.function Person(name, age) { this.name = name; this.age = age; } const person1 = new Person("Petr", 30); -
Funkcie spätného volania (Callback Functions): Funkcie, ktoré sa odovzdávajú ako argumenty iným funkciám na vykonanie v určitom momente.
function processArray(arr, callback) { for (let i = 0; i < arr.length; i++) { callback(arr[i]); } } processArray([1, 2, 3], function(item) { console.log(item * 2); }); -
IIFE - Okamžite volané funkcie (Immediately Invoked Function Expressions): Funkcie, ktoré sa vykonávajú ihneď po definovaní. Používajú sa na vytvorenie lokálneho rozsahu.
(function() { // Lokálny kód const secret = "tajomstvo"; console.log(secret); })();
Každý typ funkcie má svoje vlastnosti v syntaxe, rozsahu (this) a scenároch použitia.