--- title: Elsőrendű függvények slug: Glossary/First-class_Function tags: - JavaScript - Szkriptelés - Szójegyzék translation_of: Glossary/First-class_Function original_slug: Glossary/Elso_osztalyu_funkciok ---
Egy programnyelvnek Elsőrendű függvényei vannak, ha a nyelv függvényeit úgy kezeljük mint a többi változót. Egy ilyen nyelveben függvényeket adhatunk meg más függvények paramátereként, függvények más függvényeket adhatnak vissza és váltózókhoz is hozzárendelhetjük őket.
const foo = function() { console.log("foobar"); } // Meghívás a változóra való hivatkozással foo();
Egy Névtelen függvényt
rendeltünk egy Váltózóhoz
, ezután a változó segítségével meghívtuk a függvényt úgy, hogy zárójelet tettünk ()
a változónév végére.
Ha a függvény el is lenne nevezve, akkor is használhatnánk a változót a meghívására. Az elnevezés segítségünkre lehet a hibakeresésé során, de nem érinti a függvény meghívási módját.
function koszones() { return "Helló, "; } function udvozlet(koszont, nev) { console.log(koszont() + nev); } // `koszones` átadása argumentumként az `udvozlet` függénynek udvozlet(koszones, "JavaScript!");
A koszones()
függvényt adjuk át az udvozlet()
függvény argumentumaként, ami magyarázatot ad arra, hogy hogyan tudjuk a függényeket érték
ként kezelni.
A függvényt, aminek egy másik függvényt adunk át argumentumként, Visszahívó Függvénynek nevezzük. koszones
egy visszahívó függvény.
function koszones() { return function() { console.log("Helló!"); } }
Ebben a példában egy függvényt kell visszatérítenünk egy másik függvényből - Azért tudjuk ezt megtenni, mert a JavaScript a függvényeket érték
ként kezeli.
Azt a függvényt, amely egy másik függnény térít vissza, Felsőbbrendű Függvénynek nevezzük.
Visszatérve a példánkra; most a koszones
függvényt kell meghívnunk, amit Névtelen Függvény
ként kaptunk vissza. Ez kétféle módon lehetséges:
const koszones = function() { return function() { console.log("Helló!"); } } const fuggvenyem = koszones(); fuggvenyem();
Így megkapjuk a Helló!
üzenetet.
Változót kell használnunk. Ha koszones
t közvetlenül hívtuk volna meg, a függvényt adta volna vissza anélkül, hogy meghívta volna a visszatérített függvényt.
function koszones() { return function() { console.log("Helló!"); } } koszones()();
Dupla zárojelet ()()
használunk, hogy meghívjuk a visszatérített függvényt.