⊗jsPmFTNFE 235 of 505 menu

Shprehje Funksionale me Emër në JavaScript

Le të themi se kemi një shprehje funksionale si kjo:

let test = function() { console.log('!'); }; test(); // do të shfaqë '!'

Le t'i japim funksionit tonë emrin func:

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

Siç e dini tashmë, nuk mund të aksesohet funksioni me këtë emër:

let test = function func() { console.log('!'); }; test(); // do të shfaqë '!' func(); // do të japë një gabim

Pse atëherë t'i jepet një emër funksionit, nëse ai nuk do të jetë i disponueshëm? Çështja është se ky emër do të jetë i padisponueshëm nga jashtë funksionit, por i disponueshëm brenda këtij funksioni.

Le ta kontrollojmë:

let test = function func() { console.log(func); // funksioni do të shfaqë kodin e vet burimor }; test(); // thërrasim funksionin

Le ta thërrasim funksionin tonë brenda vetvetes:

let test = function func() { console.log('!'); // shfaqim '!' func(); // thërrasim vetveten }; test();

Nëse ekzekutohet ky kod, në konsol do të shfaqet një numër i pafund i shfaqjeve në konsol.

Në fakt, funksioni ynë mund të thirret brenda vetvetes jo vetëm si func, por edhe si test:

let test = function func() { console.log('!'); test(); // thërrasim vetveten }; test();

Cili është ndryshimi? Ndryshimi është se emri test është thjesht një ndryshore. Gjatë procesit të punës së skriptit, funksioni ynë mund të shkruhet në një ndryshore tjetër ose të kalohet si parametër - në këtë rast, lidhja midis ndryshores test dhe funksionit mund të humbasë.

Emri func është i lidhur fort me funksionin pikërisht në mënyrë që të mund të aksesohet funksioni ynë brenda vetvetes.

Shprehje të tilla Function Expression me emër të funksionit quhen shprehje funksionale me emër.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo