परिचय
जावास्क्रिप्ट call() मेथड हमें एक ही मेथड को अलग-अलग ऑब्जेक्ट्स के साथ उपयोग करने की अनुमति देता है। पैरामीटर्स को अलग-अलग पास किया जाता है (कॉमा-सेपरेटेड)। यह this को स्पष्ट रूप से सेट करता है। apply() समान है लेकिन आर्गुमेंट्स को ऐरे के रूप में लेता है। bind() एक नया फ़ंक्शन लौटाता है जिसमें this बाउंड होता है।
उदाहरण
निम्न कोड जावास्क्रिप्ट फ़ंक्शन call() के लिए है:
<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>call() मेथड</title> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } .sample { font-size: 18px; font-weight: 500; } </style> </head> <body> <h1>जावास्क्रिप्ट call()</h1> <div class="sample"></div> <button class="Btn">यहाँ क्लिक करें</button> <h3> जांचने के लिए ऊपर दिए गए बटन्स पर क्लिक करें कि वयस्क है या नहीं </h3> <script> const sampleEle = document.querySelector(".sample"); const obj1 = { name: 'रोहन', age: 22 }; function checkAdult(vehicle, country) { if (this.age > 18) { sampleEle.innerHTML = this.name + ' आप वयस्क हैं और ' + vehicle + ' चला सकते हैं ' + country + ' में'; } else { sampleEle.innerHTML = this.name + ' आप वयस्क नहीं हैं और ' + vehicle + ' नहीं चला सकते ' + country + ' में'; } } document.querySelector(".Btn").addEventListener("click", () => { checkAdult.call(obj1, 'कार', 'भारत'); }); </script> </body> </html>
आउटपुट
उपरोक्त कोड निम्न आउटपुट उत्पन्न करेगा:

"यहाँ क्लिक करें" बटन पर क्लिक करने पर:

call vs apply vs bind
| मेथड | आर्गुमेंट्स | रिटर्न | उपयोग |
|---|---|---|---|
call(thisArg, arg1, arg2, ...) | अलग-अलग | तत्काल निष्पादन | तत्काल कॉल, this सेट करें |
apply(thisArg, [argsArray]) | ऐरे | तत्काल निष्पादन | जब आर्गुमेंट्स ऐरे में हों |
bind(thisArg, arg1, arg2, ...) | अलग-अलग | नया फ़ंक्शन | बाद में कॉल के लिए this प्रीसेट करें |
व्यावहारिक उदाहरण
// Math.max के साथ apply (ऐरे पर मैक्स ढूंढने के लिए)
const nums = [1, 5, 3, 9, 2];
Math.max.apply(null, nums); // 9
Math.max(...nums); // ES6 स्प्रेड - पसंदीदा
// bind के साथ आंशिक एप्लिकेशन
const add = (a, b) => a + b;
const add5 = add.bind(null, 5);
add5(3); // 8