⊗jsPmFTNFE 235 of 505 menu

Pomenované funkčné výrazy v JavaScripte

Majme takýto funkčný výraz:

let test = function() { console.log('!'); }; test(); // vypíše '!'

Dajme našej funkcii meno func:

let test = function func() { console.log('!'); }; test();

Ako už viete, pod týmto menom nie je prístup k funkcii:

let test = function func() { console.log('!'); }; test(); // vypíše '!' func(); // vyhodí chybu

Načo však dávať funkcii meno, ak nebude dostupné? Vec sa má tak, že toto meno bude nedostupné zvonku funkcie, ale dostupné vnútri tejto funkcie.

Skontrolujme to:

let test = function func() { console.log(func); // funkcia vypíše svoj vlastný zdrojový kód }; test(); // voláme funkciu

Zavolajme našu funkciu vnútri nej samotnej:

let test = function func() { console.log('!'); // vypíšeme '!' func(); // voláme samých seba }; test();

Ak spustíte tento kód, do konzoly sa bude vypisovať nekonečné množstvo výpisov do konzoly.

Naša funkcia môže byť volaná vnútri seba samého nielen ako func, ale aj ako test:

let test = function func() { console.log('!'); test(); // voláme samých seba }; test();

V čom je však rozdiel? Rozdiel je v tom, že meno test - je len premenná. Počas činnosti skriptu sa naša funkcia môže zapísať do inej premennej alebo odovzdať ako parameter - v tomto prípade môže spojenie medzi premennou test a funkciou zmiznúť.

Meno func je naopak pevne naviazané na funkciu práve preto, aby bolo možné odkázať na našu funkciu vnútri nej samotnej.

Takéto Function Expression s menom funkcie sa nazývajú pomenované funkčné výrazy.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť