Rest এবং Spread দুটি খুবই গুরুত্বপূর্ণ ফিচার যা ES6 (ECMAScript 2015) এ যোগ করা হয়েছে। এগুলো Array এবং Object এর সাথে ব্যবহৃত হলে, কোডকে আরও পরিষ্কার, সংক্ষিপ্ত এবং কার্যকরী করে তোলে।
নিচে আমরা Rest এবং Spread এর ব্যবহার সম্পর্কিত বিস্তারিত আলোচনা করবো।
Spread (এস্প্রেড)
Spread অপারেটর (...) কে ব্যবহার করে আপনি একটি Array বা Object এর মধ্যে থাকা উপাদানগুলোকে আলাদাভাবে বিভক্ত করে অন্য একটি Array বা Object এ কপি করতে পারেন।
Array এর সাথে Spread:
Spread অপারেটর Array এর উপাদানগুলোকে পৃথক করে এবং নতুন Array এ কপি করে।
উদাহরণ:
const arr1 = [1, 2, 3];
const arr2 = [...arr1, 4, 5];
console.log(arr2); // [1, 2, 3, 4, 5]
এখানে, arr1 এর সব উপাদান arr2 তে কপি করা হয়েছে এবং পরে 4 এবং 5 যুক্ত করা হয়েছে।
Object এর সাথে Spread:
Spread অপারেটর ব্যবহার করে একটি Object এর সমস্ত প্রপার্টি অন্য একটি Object এ কপি করা যেতে পারে।
উদাহরণ:
const person = {
name: "John",
age: 30
};
const updatedPerson = { ...person, city: "New York" };
console.log(updatedPerson); // { name: "John", age: 30, city: "New York" }
এখানে, person অবজেক্টের প্রপার্টি সব updatedPerson এ কপি করা হয়েছে এবং পরে city প্রপার্টি যোগ করা হয়েছে।
Rest (রেস্ট)
Rest অপারেটর (...) ব্যবহার করে আপনি Array বা Object থেকে অবশিষ্ট উপাদানগুলোকে একটি নতুন Array বা Object এ সংগ্রহ করতে পারেন।
Array এর সাথে Rest:
Rest অপারেটর ব্যবহার করে আপনি একটি Array এর বাকী উপাদানগুলোকে একটি নতুন Array তে নিয়ে আসতে পারেন।
উদাহরণ:
const arr = [1, 2, 3, 4, 5];
const [first, second, ...rest] = arr;
console.log(first); // 1
console.log(second); // 2
console.log(rest); // [3, 4, 5]
এখানে, প্রথম দুটি উপাদান আলাদাভাবে ডেস্ট্রাকচার করা হয়েছে এবং বাকী উপাদানগুলো rest এ রাখা হয়েছে।
Object এর সাথে Rest:
Rest অপারেটর ব্যবহার করে আপনি একটি Object এর অবশিষ্ট প্রপার্টি সংগ্রহ করতে পারেন।
উদাহরণ:
const person = {
name: "John",
age: 30,
city: "New York"
};
const { name, ...rest } = person;
console.log(name); // "John"
console.log(rest); // { age: 30, city: "New York" }
এখানে, name প্রপার্টি আলাদাভাবে ডেস্ট্রাকচার করা হয়েছে এবং বাকি প্রপার্টি rest অবজেক্টে রাখা হয়েছে।
Rest এবং Spread এর মধ্যে পার্থক্য
- Spread অপারেটর উপাদানগুলোকে বিস্তৃত করে বা কপি করে, অর্থাৎ এটি মূল Array বা Object এর উপাদানগুলিকে আলাদাভাবে একটি নতুন Array বা Object এ নিয়ে আসে।
- Rest অপারেটর উপাদানগুলোকে সংগ্রহ করে, অর্থাৎ এটি ব্যবহৃত হয় যখন আপনি কিছু উপাদান আলাদা করতে চান এবং বাকী উপাদানগুলো একটি নতুন Array বা Object তে একত্রিত করতে চান।
চূড়ান্ত উদাহরণ: Array এবং Object এর সাথে Rest এবং Spread
Array এর জন্য
const arr1 = [1, 2, 3, 4, 5];
// Spread: arr1 এর উপাদানগুলো নতুন Array তে কপি করা
const arr2 = [...arr1, 6, 7];
console.log(arr2); // [1, 2, 3, 4, 5, 6, 7]
// Rest: arr1 থেকে প্রথম দুই উপাদান আলাদা করা এবং বাকী উপাদানগুলোকে rest এ সংগ্রহ করা
const [first, second, ...rest] = arr1;
console.log(first); // 1
console.log(second); // 2
console.log(rest); // [3, 4, 5]
Object এর জন্য
const person = {
name: "John",
age: 30,
city: "New York"
};
// Spread: person এর সব প্রপার্টি নতুন অবজেক্টে কপি করা
const updatedPerson = { ...person, country: "USA" };
console.log(updatedPerson); // { name: "John", age: 30, city: "New York", country: "USA" }
// Rest: person এর name প্রপার্টি আলাদা করা এবং বাকী প্রপার্টি rest এ সংগ্রহ করা
const { name, ...rest } = person;
console.log(name); // "John"
console.log(rest); // { age: 30, city: "New York" }
উপসংহার
Rest এবং Spread অপারেটর ES6 এর গুরুত্বপূর্ণ ফিচার যা Array এবং Object এর সাথে ব্যবহৃত হয়ে কোডের গঠন সহজ এবং পরিষ্কার করে তোলে। Spread ব্যবহার করে আপনি উপাদানগুলো আলাদা করতে পারেন, আর Rest ব্যবহার করে আপনি অবশিষ্ট উপাদানগুলো সংগ্রহ করতে পারেন।
Read more