जावास्क्रिप्ट में प्रोग्रामिंग करते समय, हम एक निश्चित ऑपरेशन के लिए पैरामीटर के रूप में कार्य कर सकते हैं। उदाहरण के तौर पर, किसी फ़ंक्शन में कॉलबैक हो सकता है जिसे किसी प्रकार की घटना के बाद बुलाया जाता है।
function doIt(callback) {
// some work
callback();
// more work
}
अब अगर इस callback
एक वैकल्पिक पैरामीटर है और यह से उपलब्ध नहीं है, तो हम Uncaught TypeError: callback is not a function
त्रुटि प्राप्त होगी क्योंकि कॉलबैक अनिर्धारित रहता है। इस मुद्दे के दो समाधान हैं। स्पष्ट if
कथन के साथ callback
की जांच कर रहा है। एक अन्य विकल्प callback
के डिफ़ॉल्ट मान के रूप में एक खाली फ़ंक्शन सेट किया गया है, यदि यह असाइन नहीं किया गया है। यह दृष्टिकोण बहुत उपयोगी है और चमकता है यदि हमारे पास कई स्थान हैं जो callback
फ़ंक्शन का आह्वान करते हैं। तो हमें इसे कॉल करने से पहले हर बार अपरिभाषित करने की आवश्यकता नहीं है।
function doIt(callback) {
callback = callback || function(){};
// some work
callback();
// more work
}
इसी तरह, उपयोग के मामलों हम overridable कार्यों चर हो सकता है जहां के बहुत सारे हैं। इन प्रकार के चर को खाली फ़ंक्शन में डिफ़ॉल्ट मान के रूप में सेट करने के लिए यह एक सामान्य पैटर्न है ताकि हम उन्हें बिना कॉल किए/ओवरराइड किए गए हों या नहीं, इस बारे में चिंता किए बिना कॉल कर सकें।
इसके अलावा, कुछ विशेष मामलों में, यह उन कार्यों के लिए उपयोगी है जो कुछ भी नहीं करते हैं बल्कि एक विशेष मूल्य लौटाते हैं। makeEmptyFunction
इस तरह के कार्यों के निर्माण के लिए प्रयोग किया जाता है। असल में, यह एक ऐसा फ़ंक्शन देता है जो कुछ भी नहीं करता है लेकिन पैरामीटर पास करता है जो कभी भी देता है।
emptyFunction.thatReturnsFalse = makeEmptyFunction(false);
आप फ़ाइल में देख सकते हैं, इसके बाद के संस्करण कोड एक खाली समारोह जो false
मान देता है उत्पन्न करते हैं।
"शून्य कॉल idiom" उद्देश्य-सी/कोको प्रोग्रामिंग में हमें कुछ मिलता है। यह मूल रूप से आपको अन्य भाषाओं में जैसे किसी भी त्रुटि के बिना call a method of an uninitialized object (शून्य सूचक) की अनुमति देता है। मुझे लगता है कि लेखक ने टिप्पणी में व्याख्या करने की कोशिश की है।
चूंकि जावास्क्रिप्ट में ऐसी भाषा सुविधा नहीं है, इसलिए हम स्पष्ट रूप से खाली कार्यों का उपयोग करके इसे प्राप्त करते हैं। कुछ लोग इसे नो-ऑप या नोप कहते हैं और आप अन्य लोकप्रिय जावास्क्रिप्ट पुस्तकालयों जैसे JQuery और AngularJS में भी समान सहायक ढूंढ सकते हैं।