JavaScript Spread (…) অপারেটর নিয়ে বিস্তারিত টিউটোরিয়াল
জাভাস্ক্রিপ্টের Spread Operator একটি অত্যন্ত শক্তিশালী ফিচার যা array, object এবং function arguments এর মধ্যে ডেটা কপি বা মিশ্রণে ব্যবহৃত হয়। এটি তিনটি ডট (…) দিয়ে প্রকাশ করা হয়।
Spread Operator কী?
Spread অপারেটর মূলত iterable উপাদানগুলিকে আলাদা করে “spreads” বা “বিস্তৃত” করে। অর্থাৎ একটি array বা object কে খুলে তার উপাদানগুলো অন্য array, object বা function-এ স্থানান্তর করে।
উদাহরণ ১: Array কপি করা
// একটি অ্যারে কপি করার সাধারণ পদ্ধতি
const numbers = [1, 2, 3];
const copiedNumbers = [...numbers];
console.log(copiedNumbers);
// আউটপুট: [1, 2, 3]
// ব্যাখ্যা:
// এখানে '...' দিয়ে numbers অ্যারেটিকে "spreads" করে
// তার সব উপাদানকে নতুন অ্যারেতে কপি করা হয়েছে।
// এটি মূল অ্যারেকে পরিবর্তন না করে কপি করে।
উদাহরণ ২: Array Merge করা
// দুটি অ্যারে মার্জ করা
const boys = ["Rakib", "Sajid"];
const girls = ["Mitu", "Lima"];
const allStudents = [...boys, ...girls];
console.log(allStudents);
// আউটপুট: ["Rakib", "Sajid", "Mitu", "Lima"]
// ব্যাখ্যা:
// boys এবং girls দুটি অ্যারেকে Spread করে
// allStudents অ্যারেতে মিশ্রণ করা হয়েছে।
উদাহরণ ৩: Object কপি ও মার্জ করা
// দুটি অবজেক্ট কপি ও মার্জ
const person = {
name: "Rahim",
age: 28
};
const address = {
city: "Dhaka",
country: "Bangladesh"
};
const fullInfo = { ...person, ...address };
console.log(fullInfo);
// আউটপুট: { name: "Rahim", age: 28, city: "Dhaka", country: "Bangladesh" }
// ব্যাখ্যা:
// person ও address অবজেক্টের সব প্রোপার্টি
// Spread করে fullInfo অবজেক্টে যোগ করা হয়েছে।
উদাহরণ ৪: ফাংশনে আর্গুমেন্ট পাঠানো
// অ্যারে থেকে ফাংশনে আর্গুমেন্ট পাঠানো
function sum(a, b, c) {
return a + b + c;
}
const numbers = [5, 10, 15];
const result = sum(...numbers);
console.log(result);
// আউটপুট: 30
// ব্যাখ্যা:
// numbers অ্যারেকে Spread করে প্রতিটি উপাদান
// আলাদা করে ফাংশনের আর্গুমেন্ট হিসেবে পাঠানো হয়েছে।
Spread vs Rest Parameter
| পয়েন্ট | Spread | Rest |
|---|---|---|
| ব্যবহার | তথ্যকে বিস্তৃত করে | তথ্যকে সংগ্রহ করে |
| অবস্থান | ফাংশনের বাইরে | ফাংশনের ভিতরে |
⚠️ সতর্কতামূলক নোট
- Spread Operator
ES6থেকে এসেছে, তাই পুরনো ব্রাউজারে কাজ নাও করতে পারে। - অবজেক্ট মার্জ করলে একই key থাকলে পরে দেওয়া key-র মান replace করে দেয়।
উপসংহার
জাভাস্ক্রিপ্টের Spread Operator আপনার কোডকে আরও সংক্ষিপ্ত, পরিষ্কার এবং মডার্ন করে তোলে। এটি কপি, মার্জ, ও ফাংশনে আর্গুমেন্ট পাঠাতে খুবই উপযোগী একটি টুল।