अनाम फंक्शन्स और वैरिएबल असाइनमेंट
JavaScript में अनाम फंक्शन्स (anonymous functions) को वैरिएबल्स में असाइन किया जाता है और फिर उसी वैरिएबल नाम से कॉल किया जाता है।
उदाहरण
var a = function() {
return 5;
};
a(); // 5 रिटर्न करता है
2. नामित फंक्शन एक्सप्रेशन (Named Function Expression - NFE)
// ऑब्जेक्ट में फंक्शन्स स्टोर करें
var actions = {
save: function() { console.log('Saving...'); },
delete: function() { console.log('Deleting...'); },
update: function() { console.log('Updating...'); }
};
// स्ट्रिंग से डायनामिक कॉल
var actionName = 'save';
if (actions[actionName]) {
actions[actionName](); // "Saving..."
}
// या window ऑब्जेक्ट पर (ग्लोबल फंक्शन्स)
window['myFunction'](); // myFunction() कॉल करता है
फंक्शन कंस्ट्रक्टर (नहीं सुझाया)
उपयोग के मामले
| पैटर्न | उपयोग |
|---|---|
| कॉलबैक्स | setTimeout, addEventListener, Promise.then |
| स्ट्रेटजी पैटर्न | रनटाइम पर व्यवहार चुनें |
| कमांड पैटर्न | एक्शन्स को ऑब्जेक्ट्स में एनकैप्सुलेट |
| प्लगइन सिस्टम | डायनामिक फंक्शन रजिस्ट्रेशन |
महत्वपूर्ण नोट्स
- अनाम फंक्शन्स का
nameप्रॉपर्टी""(खाली स्ट्रिंग) होता है (ES6 में अंतर्निहित नाम मिल सकता है) - डीबगिंग में अनाम फंक्शन्स स्टैक ट्रेस में अनाम दिखते हैं
- नामित फंक्शन एक्सप्रेशन (NFE) डीबगिंग के लिए बेहतर हैं
Functionकंस्ट्रक्टर से बचें - सुरक्षा जोखिम, खराब प्रदर्शन, कोई क्लोजर नहीं
ES6+ एरो फंक्शन्स