⊗jsPmFTNFE 235 of 505 menu

Անվանված ֆունկցիոնալ արտահայտությունները JavaScript-ում

Ենթադրենք՝ ունենք հետևյալ ֆունկցիոնալ արտահայտությունը՝

let test = function() { console.log('!'); }; test(); // կարտածի '!'

Տանք մեր ֆունկցիային func անունը՝

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

Ինչպես արդեն գիտեք, այդ անունով ֆունկցիային դուրսից հասանելի չէ՝

let test = function func() { console.log('!'); }; test(); // կարտածի '!' func(); // կտա սխալ

Ինչու՞ է անհրաժեշտ տալ ֆունկցիային անուն, եթե այն հասանելի չի լինի։ Բանը նրանում է, որ այդ անունը ֆունկցիայի ներսում կլինի հասանելի, թեև դրսից՝ ոչ։

Ստուգենք՝

let test = function func() { console.log(func); // ֆունկցիան կարտածի իր սկզբնական կոդը }; test(); // կանչում ենք ֆունկցիան

Կանչենք մեր ֆունկցիան նրա ներսից՝

let test = function func() { console.log('!'); // արտածում ենք '!' func(); // կանչում ենք ինքն իրեն }; test();

Եթե գործարկել այս կոդը, ապա կոնսոլ կարտածվի անվերջ քանակությամբ տողեր։

Իրականում, մեր ֆունկցիան կարող է իր ներսից կանչվել ոչ միայն որպես func, այլև որպես test՝

let test = function func() { console.log('!'); test(); // կանչում ենք ինքն իրեն }; test();

Ո՞րն է տարբերությունը։ Տարբերությունն այն է, որ test անունը պարզապես փոփոխական է։ Սկրիպտի աշխատանքի ընթացքում մեր ֆունկցիան կարող է գրվել մեկ այլ փոփոխականի մեջ կամ փոխանցվել որպես պարամետր՝ այս դեպքում test փոփոխականի և ֆունկցիայի միջև կապը կարող է խզվել։

func անունը, however, կոշտ կերպով կապված է ֆունկցիայի հետ հենց այն նպատակով, որ կարողանանք դիմել մեր ֆունկցիային նրա ներսից։

Ֆունկցիայի անունով այսպիսի Function Expression-ները կոչվում են անվանված ֆունկցիոնալ արտահայտություններ։

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել