JavaScript এর apply() মেথড — বাংলায় বিস্তারিত
apply() একটি শক্তিশালী JavaScript মেথড, যা ফাংশনের this কনটেক্সট পরিবর্তন করে দেয় এবং ফাংশনের আর্গুমেন্ট গুলো array বা array-like object আকারে নেয়। এটি call() এর মতোই কাজ করে, শুধু পার্থক্য হলো আর্গুমেন্ট পাস করার পদ্ধতিতে।
Syntax:
functionName.apply(thisArg, [argsArray])thisArg: যাকে this হিসেবে ব্যাবহার করতে চান।
[argsArray]: আর্গুমেন্ট এর array।
উদাহরণ ১: apply() ব্যবহার করে ফাংশন চালানো
const person = {
fullName: function(city, country) {
return this.firstName + " " + this.lastName + " from " + city + ", " + country;
}
};
const user = {
firstName: "Mina",
lastName: "Khan"
};
const result = person.fullName.apply(user, ["Dhaka", "Bangladesh"]);
console.log(result);
// Output: Mina Khan from Dhaka, Bangladesh
ব্যাখ্যা: এখানে fullName ফাংশনটি user অবজেক্টের উপর চালানো হয়েছে apply() দিয়ে, যেখানে আর্গুমেন্ট গুলো array আকারে দেওয়া হয়েছে।
উদাহরণ ২: Math.max() এ apply() ব্যবহার
const numbers = [12, 54, 8, 92, 33];
const max = Math.max.apply(null, numbers);
console.log(max); // Output: 92
ব্যাখ্যা: Math.max() একটি ফাংশন যা কমা দিয়ে সংখ্যা নেয়। কিন্তু আমাদের কাছে যদি array থাকে, তখন আমরা apply() ব্যবহার করে সেটা পাঠাতে পারি। এখানে null দিয়ে this দরকার হয়নি।
তুলনা: call() vs apply() vs bind()
| মেথড | this কাকে নির্দেশ করে | Argument কিভাবে দেয় | ফাংশন কল হয় |
|---|---|---|---|
| call() | প্রথম প্যারামিটার | কমা দিয়ে | তাৎক্ষণিক |
| apply() | প্রথম প্যারামিটার | array দিয়ে | তাৎক্ষণিক |
| bind() | প্রথম প্যারামিটার | কমা বা array | নতুন ফাংশন তৈরি করে |
কখন ব্যবহার করবেন apply()
- যখন আপনার কাছে আর্গুমেন্ট গুলো array আকারে থাকে
- যখন ফাংশনের this কনটেক্সট নির্দিষ্ট করে দিতে চান
- যখন built-in ফাংশন যেমন
Math.max()এর মত ফাংশনের সাথে কাজ করছেন
উপসংহার:
apply() মেথড flexible function calling এর জন্য খুবই দরকারি একটি টুল। এটি JavaScript ফাংশনকে আরও reusable এবং powerful করে তোলে। বিশেষ করে যদি আপনি advanced JavaScript নিয়ে কাজ করেন, তাহলে apply() বুঝে এবং শিখে রাখা খুবই গুরুত্বপূর্ণ।