JavaScript फ़ंक्शन बाइंड () विधि किसी ऑब्जेक्ट को कॉपी किए बिना किसी अन्य ऑब्जेक्ट से विधि उधार लेने की अनुमति देती है।
bind()
विधि का सिंटैक्स है:
func.bind(thisArg, arg1,… argN)
यहाँ, func
एक फ़ंक्शन है।
बाइंड () पैरामीटर
bind()
विधि में लेता है:
thisArg
- केthis
लिए पैरामीटर के रूप में प्रदान किया गया मूल्यfunc
। यदि नए ऑपरेटर का उपयोग करके बाध्य फ़ंक्शन बनाया जाता है, तो इसे अनदेखा किया जाता है ।arg1,… argN
(वैकल्पिक) - आह्वान करते समय बाध्य फ़ंक्शन को प्रदान किए गए तर्कों को प्रस्तुत करने के लिए तर्कfunc
।
टिप्पणियाँ:
- सेटटाउट के अंदर इस आरएजीजी का उपयोग करते समय, आदिम मान वस्तुओं में परिवर्तित हो जाते हैं।
- यदि
thisArg
निर्दिष्ट नहीं किया गया है, तो निष्पादन क्षेत्र का यह व्यवहार किया जाता हैthisArg
।
बाइंड से वापसी मूल्य ()
- निर्दिष्ट मान के साथ दिए गए फ़ंक्शन की एक प्रति लौटाता है, और प्रारंभिक तर्क (यदि प्रदान किया गया है)।
उदाहरण: बाइंड का उपयोग करना ()
this.x = 1; // "this" here is the global window object in browser const obj = ( x: 100, getX: function () ( return this.x; ), ); console.log(obj.getX()); // 100 const retrieveX = obj.getX; // the function gets invoked at the global scope console.log(retrieveX()); // 1 // Create a new function with 'this' bound to obj // global variable 'x' with obj's property 'x' are two separate entities const boundGetX = retrieveX.bind(obj); console.log(boundGetX()); // 100
आउटपुट
100 1 100
एक बार किसी विधि को ऑब्जेक्ट से अलग करके पास कर this
दिया जाता है - खो जाता है। मूल ऑब्जेक्ट का उपयोग करके फ़ंक्शन से एक बाध्य फ़ंक्शन बनाना, इस समस्या को बड़े करीने से हल करता है
अनुशंसित पढ़ना: जावास्क्रिप्ट फ़ंक्शन कॉल ()