जावास्क्रिप्ट में क्लोजर
जावास्क्रिप्ट फ़ंक्शन में कोड का एक ब्लॉक होता है जिसे एक विशिष्ट कार्य करने के लिए डिज़ाइन किया गया है। जब आप इसका आह्वान करते हैं तो यह चलता है।
उदाहरण के लिए:
function myFunction(message){
console.log(message)
}
myFunction("Hello there!!")
myFunction("Welcome, boss")
लेकिन क्या होगा अगर हम जानना चाहते हैं कि पहले या पिछले निष्पादन पर क्या हुआ। यहीं से क्लोजर आता है।
क्लोजर क्या है?
सरल शब्दों में जब कोई फ़ंक्शन किसी अन्य फ़ंक्शन को लौटाता है, जिसके बाहरी कार्यों के दायरे तक पहुंच होती है, तो इसे जावास्क्रिप्ट में बंद करने के रूप में संदर्भित किया जाता है।
उदाहरण के लिए:
function outer (){
let counter = 0;
function inner (){
counter++;
return counter;
}
return inner
}
const result = outer()
function inner (){
counter++;
return counter;
}
तो किसी तरह जावास्क्रिप्ट पिछले counterमूल्य को याद कर रहा है और यह गणितीय ऑपरेशन कर रहा है।
आप पूछ सकते हैं कि जेएस कैसे कर रहा है?
जब कोई फ़ंक्शन किसी फ़ंक्शन को लौटाता है तो यह केवल फ़ंक्शन वापस नहीं कर रहा है, यह उस फ़ंक्शन के लेक्सिकल स्कोप को भी वापस कर रहा है। वे सभी चर, डेटा जो उस लौटे फ़ंक्शन से संबंधित हैं, उस लौटे फ़ंक्शन के साथ एक छिपी हुई संपत्ति के रूप में कार्य करते हैं। वह छिपी संपत्ति भी कहलाती हैBackpack
इस बैकपैक के कई नाम हैं:
- 'परिवर्तनशील पर्यावरण' (सीओवीई) पर बंद
- परसिस्टेंट लेक्सिकल स्कोप संदर्भित डेटा (PLSRD)
- बैग
- समापन
आइए एक और उदाहरण देखें:
function outer (){
let counter = 0;
function inner (){
counter++;
return counter;
}
return inner
}
const result = outer()
result() // 1
result() // 2
const anotherResult = outer()
anotherResult() // 1
anotherResult() // 2
क्लोजर क्यों:
- यह हमें सहायक कार्य बनाने में मदद करता है जो एक बार और याद रखने जैसे शक्तिशाली कार्यों को सक्षम बनाता है।
- लेक्सिकल स्कोप और क्लोजर का उपयोग करके इटरेटर्स और जेनरेटर बनाने में हमारी मदद करता है ।
- वैश्विक नामस्थान को प्रदूषित किए बिना किसी एप्लिकेशन के लिए राज्य को संरक्षित करके, मॉड्यूल पैटर्न सहित कई जावास्क्रिप्ट डिज़ाइन पैटर्न क्लोजर का उपयोग करते हैं।
- कॉलबैक और वादे अतुल्यकालिक जावास्क्रिप्ट दुनिया में स्थिति को बनाए रखने के लिए क्लोजर पर भरोसा करते हैं।

![क्या एक लिंक्ड सूची है, वैसे भी? [भाग 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































