JavaScript Function bind()

फ़ंक्शन उधार (Function Borrowing)

bind() तरीका का उपयोग करके, एक ऑब्जैक्ट दूसरे ऑब्जैक्ट का तरीका उधार कर सकता है。

नीचे का उदाहरण 2 ऑब्जैक्ट (person और member) बनाता है。

member ऑब्जैक्ट person ऑब्जैक्ट के fullname तरीका को उधार करता है:

उदाहरण

const person = {
  firstName:\"Bill\",
  lastName: "Gates",
  fullName: function () {
    return this.firstName + \" \" + this.lastName;
  }
}
const member = {
  firstName:\"Hege\",
  lastName: "Nilsen",
}
let fullName = person.fullName.bind(member);

अपने आप प्रयोग करें

this बनाए रखा जाए

कभी-कभी bind() तरीका का उपयोग करना पड़ता है ताकि this

इस उदाहरण में, person ऑब्जैक्ट को एक display तरीका है। display तरीका मेंthis person ऑब्जैक्ट को संदर्भित करता है:

उदाहरण

const person = {
  firstName:\"Bill\",
  lastName: "Gates",
  display: function () {
    let x = document.getElementById("demo");
    x.innerHTML = this.firstName + " " + this.lastName;
  }
}
person.display();

अपने आप प्रयोग करें

जब फ़ंक्शन को कॉलबैक के रूप में उपयोग किया जाता है तबthis गुम हो जाएगा。

यह उदाहरण 3 सेकंड के बाद व्यक्ति का नाम दिखाने का प्रयास करेगा, लेकिन यह undefined:

उदाहरण

const person = {
  firstName:\"Bill\",
  lastName: "Gates",
  display: function () {
    let x = document.getElementById("demo");
    x.innerHTML = this.firstName + " " + this.lastName;
  }
}
setTimeout(person.display, 3000);

अपने आप प्रयोग करें

bind() तरीका इस समस्या को हल करता है。

इस उदाहरण में, bind() तरीका person.display को person से बांधने के लिए उपयोग किया गया है。

यह उदाहरण 3 सेकंड के बाद व्यक्ति का नाम दिखाएगा:

उदाहरण

const person = {
  firstName:\"Bill\",
  lastName: "Gates",
  display: function () {
    let x = document.getElementById("demo");
    x.innerHTML = this.firstName + " " + this.lastName;
  }
}
let display = person.display.bind(person);
setTimeout(display, 3000);

अपने आप प्रयोग करें

इस्तेमाल के बारे में this क्या है?

JavaScript मेंthis अवधारणा संदर्भऑब्जेक्ट

संदर्भ करता हैकौनअवधारणा ऑब्जेक्ट आगामी (इस्तेमाल या आगामी) के तरीके से निर्भर करती है।

इस्तेमाल के तरीके पर भरोसा करते हुए this संदर्भ करता है विभिन्न ऑब्जेक्ट:

  • ऑब्जेक्ट के विधियों मेंthis संदर्भ करता हैऑब्जेक्ट
  • अकेले इस्तेमाल करने परthis संदर्भ करता हैग्लोबल ऑब्जेक्ट
  • फ़ंक्शन मेंthis संदर्भ करता हैग्लोबल ऑब्जेक्ट
  • फ़ंक्शन में, कड़े मोड मेंthis है undefined
  • इवेंट मेंthis इवेंट को प्राप्त करने वालेएलीमेंट
  • call()、apply() और bind() जैसी विधियों के द्वारा this संदर्भ करता हैकोई भी ऑब्जेक्ट

ध्यान दें:this एक वेरियेबल नहीं है।यह एक अवधारणा है।आप इसे संशोधित नहीं कर सकते this का मान

अन्य संदर्भ:

ट्यूटोरियल:JavaScript this