⊗jsPmFTNFE 235 of 505 menu

जावास्क्रिप्ट में नामित फंक्शनल एक्सप्रेशन

मान लीजिए कि हमारे पास इस तरह का फंक्शनल एक्सप्रेशन है:

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 सख्ती से फ़ंक्शन से बंधा हुआ है विशेष रूप से इसलिए ताकि हम अपने फ़ंक्शन के अंदर से उसी फ़ंक्शन को कॉल कर सकें।

फ़ंक्शन के नाम वाले ऐसे Function Expression को नामित फंक्शनल एक्सप्रेशन कहा जाता है।

हिन्दी
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें