JavaScript এর call() মেথড — বাংলায় সহজ ব্যাখ্যা
call() হচ্ছে JavaScript এর একটি মেথড, যা ফাংশনের this কনটেক্সট কে পরিবর্তন করে অন্য অবজেক্টের উপর ফাংশন চালাতে দেয়। এটি Function.prototype.call() এর অংশ।
সহজভাবে বলতে গেলে, আপনি যদি চান একটি অবজেক্টের ফাংশন অন্য অবজেক্টেও ব্যবহার করতে, তাহলে call() মেথডটি ব্যবহার করা হয়।
Syntax:
functionName.call(thisArg, arg1, arg2, ...)thisArg: যাকে this হিসেবে ব্যাবহার করতে চান।
arg1, arg2, …: ফাংশনের আর্গুমেন্ট (প্রয়োজন হলে)।
উদাহরণ ১: অন্য অবজেক্টে ফাংশন ব্যবহার
const person1 = {
name: "Rahim",
greet: function(age) {
console.log("Name: " + this.name + ", Age: " + age);
}
};
const person2 = { name: "Karim" };
person1.greet.call(person2, 25); // Output: Name: Karim, Age: 25
ব্যাখ্যা: এখানে greet ফাংশনটি মূলত person1 এর, কিন্তু আমরা এটি call() ব্যবহার করে person2 এর উপর চালিয়েছি। তাই this.name হয়েছে “Karim”।
উদাহরণ ২: Multiple arguments সহ call()
const person = {
fullName: function(city, country) {
return this.firstName + " " + this.lastName + " from " + city + ", " + country;
}
};
const user = {
firstName: "John",
lastName: "Doe"
};
const result = person.fullName.call(user, "Dhaka", "Bangladesh");
console.log(result);
// Output: John Doe from Dhaka, Bangladesh
ব্যাখ্যা: এখানে call() মেথড দিয়ে আমরা user অবজেক্টের firstName এবং lastName ব্যবহার করেছি person এর ফাংশনের মধ্যে।
call() এর ব্যবহার কোথায় দরকার হয়?
- একই ফাংশন বিভিন্ন অবজেক্টের উপর ব্যবহার করতে
- this কনটেক্সট নির্দিষ্ট করে দিতে
- ইনহেরিট্যান্স ছাড়াই রিইউজেবল ফাংশন তৈরি করতে
সংক্ষিপ্ত তুলনা: call() vs apply() vs bind()
| মেথড | this কাকে নির্দেশ করে | Argument কিভাবে দেয় | ফাংশন কল হয় |
|---|---|---|---|
| call() | প্রথম প্যারামিটার | কমা দিয়ে | তাৎক্ষণিক |
| apply() | প্রথম প্যারামিটার | array দিয়ে | তাৎক্ষণিক |
| bind() | প্রথম প্যারামিটার | কমা বা array | নতুন ফাংশন তৈরি করে |
উপসংহার:
call() মেথড খুবই গুরুত্বপূর্ণ যখন আপনি একটি ফাংশনকে বিভিন্ন অবজেক্টের জন্য ব্যবহার করতে চান। এটি JavaScript-এর functional programming ধারণাকে আরও কার্যকর করে তোলে।