JavaScript Academy · पाठ

विधि निकालने की पेचीदगियाँ, आंशिक अनुप्रयोग

call/apply/bind से विधि निकालने की समस्याएँ ठीक करें और bind तथा wrapper arrows से आंशिक अनुप्रयोग के छोटे तरीके सीखें।

पाठ 2, कुल 3 में से8 चरण

विधि निकालने की पेचीदगियाँ, आंशिक अनुप्रयोग, CoddyKit पर JavaScript Academy का एक निःशुल्क पाठ है। यह 3 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह JavaScript Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। JavaScript Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।

समग्र चित्र

लक्ष्य: विधि अलग करने के बाद this को स्थिर रखना और तर्क पहले से भरना।

  • call(thisArg, a, b)
  • apply(thisArg, [a, b])
  • bind(thisArg, a) → नया फ़ंक्शन लौटाता है
  • bind या छोटे ऐरो से आंशिक अनुप्रयोग
विधि निकालने की पेचीदगियाँ, आंशिक अनुप्रयोग — चित्र 1

अलग करने की समस्या

obj.method() के रूप में कॉल करना काम करता है, लेकिन फ़ंक्शन को अलग करने पर ऑब्जेक्ट खो जाता है और this काम करना बंद कर देता है।

// Extraction loses this
const user = {
  name: "Ayla",
  label: function (prefix) {
    return prefix + ":" + this.name;
  }
};

console.log("method call:", user.label("Hi")); // "Hi:Ayla"

// Extract
const f = user.label;
console.log("extracted:", f("Hi")); // this is missing -> "Hi:undefined" (in strict mode this is undefined)
विधि निकालने की पेचीदगियाँ, आंशिक अनुप्रयोग — चित्र 2

एक बार के लिए call/apply

call और apply आपको एक ही बार के आह्वान के लिए this सेट करने देते हैं।

// Fix by passing this explicitly using call/apply
console.log("call :", f.call(user, "Hi"));   // "Hi:Ayla"
console.log("apply:", f.apply(user, ["Yo"])); // "Yo:Ayla"
विधि निकालने की पेचीदगियाँ, आंशिक अनुप्रयोग — चित्र 3

पुनः उपयोग के लिए bind

bind ऐसा फ़ंक्शन बनाता है जो this को याद रखता है। उसे फिर से bind किए बिना कई बार कॉल कीजिए।

// bind returns a new function with this fixed
const bound = f.bind(user);
console.log("bound once:", bound("Hey")); // "Hey:Ayla"
console.log("bound again:", bound("Yo")); // "Yo:Ayla"
विधि निकालने की पेचीदगियाँ, आंशिक अनुप्रयोग — चित्र 4

आंशिक अनुप्रयोग (सरल)

शुरुआती तर्क पहले से भरने के लिए bind का उपयोग कीजिए, या मानों और this को स्थिर करने के लिए एक छोटा ऐरो रैपर बनाइए।

// Partial application: pre-fill arguments
function add(a, b, c) { return a + b + c; }

// Using bind: pre-fill a=10
const add10 = add.bind(null, 10);
console.log("add10(1,2):", add10(1, 2)); // 13

// Using an arrow wrapper: pre-fill prefix
const labelHi = function (obj) {
  return function () { return obj.label("Hi"); };
}(user);

console.log("arrow partial:", labelHi()); // "Hi:Ayla"
विधि निकालने की पेचीदगियाँ, आंशिक अनुप्रयोग — चित्र 5

व्यावहारिक तरीके

सुझाव:

  • अलग की गई विधियाँ: एक बार bind का उपयोग करके फिर से उपयोग कीजिए।
  • एक बार किए जाने वाले आह्वान: call/apply का उपयोग कीजिए।
  • क्या तर्क पहले से भरने हैं? bind या छोटा ऐरो रैपर उपयोग कीजिए।
  • सहायक फ़ंक्शन छोटे रखिए और उनके नाम स्पष्ट रखिए।
विधि निकालने की पेचीदगियाँ, आंशिक अनुप्रयोग — चित्र 6

bind बनाम call/apply प्रश्नोत्तरी

त्वरित जाँच: this बनाए रखिए और तर्क पहले से भरिए।

विधि निकालने की पेचीदगियाँ, आंशिक अनुप्रयोग — चित्र 7

पुनरावलोकन

पुनरावलोकन: फ़ंक्शन अलग करने पर this खो जाता है। एक बार के आह्वान के लिए call/apply और this को स्थिर करके पुनः उपयोग के लिए bind का उपयोग कीजिए। आंशिक फ़ंक्शन के लिए मान पहले से भरने हेतु bind या छोटा ऐरो उपयोग कीजिए।

विधि निकालने की पेचीदगियाँ, आंशिक अनुप्रयोग — चित्र 8
शुरुआत निःशुल्क

एआई शिक्षक के साथ JavaScript सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
59
पाठ
200

अक्सर पूछे जाने वाले प्रश्न

क्या “विधि निकालने की पेचीदगियाँ, आंशिक अनुप्रयोग” पाठ निःशुल्क है?

हाँ — JavaScript Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “विधि निकालने की पेचीदगियाँ, आंशिक अनुप्रयोग” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। JavaScript Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।

“विधि निकालने की पेचीदगियाँ, आंशिक अनुप्रयोग” में मैं क्या सीखूँगा?

call/apply/bind से विधि निकालने की समस्याएँ ठीक करें और bind तथा wrapper arrows से आंशिक अनुप्रयोग के छोटे तरीके सीखें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ JavaScript Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या JavaScript Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर JavaScript Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 3 में से 2वाँ पाठ है।

“विधि निकालने की पेचीदगियाँ, आंशिक अनुप्रयोग” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस JavaScript Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर JavaScript Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. लेक्सिकल बनाम डायनैमिक this, arrows पर पुनर्विचार
  2. विधि निकालने की पेचीदगियाँ, आंशिक अनुप्रयोग
  3. फ़ंक्शनल विकल्प — संदर्भ पास करना, क्लोज़र, छोटी सहायक विधियाँ
← JavaScript Academy पर वापस जाएँ