तीन मुख्य कारण जो मैं सोच सकता हूं:
- अभिभावक स्कोप एक्सेस
- एकांत
- उच्च स्कोप में परिभाषित नामों की कमी
पैरेंट स्कोप एक्सेस: इनलाइन फ़ंक्शन परिभाषाएँ इनलाइन कोड को पैरेंट स्कोप में परिभाषित चर तक पहुँच की अनुमति देती हैं। यह कई चीजों के लिए बहुत उपयोगी हो सकता है और अगर ठीक से किया जाता है तो कोड की मात्रा या जटिलता को कम कर सकता है।
यदि आप इस दायरे के बाहर परिभाषित फ़ंक्शन में कोड डालते हैं और फिर कोड को कॉल करते हैं, तो आपको फिर किसी भी मूल स्थिति को पारित करना होगा जिसे वह फ़ंक्शन तक पहुंचना चाहता था।
गोपनीयता: एक इनलाइन अनाम परिभाषा के अंदर कोड अधिक निजी है और अन्य कोड द्वारा नहीं बुलाया जा सकता है।
उच्च स्कोप में परिभाषित नामों की कमी: वैश्विक दायरे में काम करते समय यह सबसे महत्वपूर्ण है, लेकिन एक इनलाइन अनाम घोषणा वर्तमान दायरे में एक नए प्रतीक को परिभाषित करने से बचती है। चूंकि जावास्क्रिप्ट में मूल रूप से नामस्थान के उपयोग की आवश्यकता नहीं होती है, इसलिए न्यूनतम आवश्यक से अधिक वैश्विक प्रतीकों को परिभाषित करने से बचना बुद्धिमानी है।
संपादकीय: ऐसा लगता है कि जावास्क्रिप्ट में एक सांस्कृतिक बात बन गई है, जहां कुछ अनामी रूप से इनलाइन घोषित करने को किसी तरह एक फ़ंक्शन को परिभाषित करने और इसे तब भी कॉल करने से बेहतर माना जाता है, जब पैरेंट स्कोप एक्सेस का उपयोग नहीं किया जाता है। मुझे शक है कि यह शुरू में जावास्क्रिप्ट में वैश्विक नाम स्थान प्रदूषण की समस्या के कारण था, फिर शायद गोपनीयता के मुद्दों के कारण। लेकिन यह अब कुछ हद तक सांस्कृतिक चीज में बदल गया है और आप इसे कोड के बहुत सारे सार्वजनिक निकायों (जैसे कि आप उल्लेख करते हैं) में व्यक्त कर सकते हैं।
C ++ जैसी भाषाओं में, अधिकांश शायद इसे एक कम-से-आदर्श अभ्यास मानते हैं, जिसमें एक विशाल कार्य होता है जो कई पृष्ठों / स्क्रीन पर फैला होता है। बेशक, C ++ में निर्मित नाम स्थान है, जो माता-पिता के दायरे की पहुंच प्रदान नहीं करता है और इसमें गोपनीयता विशेषताएं हैं, इसलिए यह पूरी तरह से पठनीयता / स्थिरता से प्रेरित हो सकता है, जबकि जावास्क्रिप्ट को गोपनीयता और माता-पिता के दायरे तक पहुंच प्राप्त करने के लिए कोड अभिव्यक्ति का उपयोग करना पड़ता है। इसलिए, जेएस केवल एक अलग दिशा में प्रेरित हुआ प्रतीत होता है और यह भाषा के भीतर कुछ हद तक एक सांस्कृतिक चीज बन जाती है, तब भी जब उस दिशा को प्रेरित करने वाली चीजों को किसी विशिष्ट मामले में जरूरत नहीं होती है।