Tuples TypeScript-এর একটি গুরুত্বপূর্ণ ডেটা স্ট্রাকচার, যা একাধিক মান ধারণ করতে সক্ষম। Tuple এর মাধ্যমে আপনি একাধিক বিভিন্ন টাইপের মান একটি একক ভেরিয়েবলের মধ্যে রাখতে পারেন। এটি একটি অ্যারে (array) ধরনের হলেও, এর মধ্যে বিভিন্ন ধরনের ডেটা থাকতে পারে এবং প্রতিটি মানের টাইপ নির্দিষ্ট করা হয়।
Tuples কী?
Tuples হলো একটি আর্কাইভ-লাইক ডেটা স্ট্রাকচার, যেখানে আপনি বিভিন্ন ধরনের মান রাখতে পারেন, এবং প্রতিটি মানের জন্য টাইপ নির্ধারণ করা যায়। একটি Tuple তৈরির জন্য, সাধারণত [] স্নিগ্ধভাবে ডিক্লেয়ার করা হয় এবং এর মধ্যে আলাদা আলাদা টাইপের ডেটা রাখা হয়।
১. Tuples এর সাথে ফাংশন ব্যবহার
আপনি Tuples এর মাধ্যমে ফাংশনে একাধিক ভ্যালু রিটার্ন করতে পারেন, যা বিশেষভাবে উপকারী যখন আপনি একাধিক মান একসাথে ফেরত দিতে চান। TypeScript-এ, আপনি ফাংশন ডিক্লেয়ার করার সময় Tuple রিটার্ন টাইপ নির্ধারণ করতে পারেন।
উদাহরণ:
function getPersonInfo(): [string, number] {
return ["Alice", 25]; // একটি Tuple রিটার্ন হচ্ছে
}
const personInfo = getPersonInfo();
console.log(personInfo); // Output: [ 'Alice', 25 ]
এখানে, getPersonInfo ফাংশনটি একটি Tuple রিটার্ন করছে, যেখানে প্রথম উপাদানটি একটি string এবং দ্বিতীয় উপাদানটি একটি number।
এছাড়া, আপনি Tuple টাইপের উপাদানগুলোও নির্দিষ্টভাবে ডিক্লেয়ার করতে পারেন:
function getEmployeeDetails(): [string, number, string] {
return ["Bob", 30, "Engineer"];
}
const employee = getEmployeeDetails();
const [name, age, profession] = employee; // Destructuring
console.log(name, age, profession); // Output: Bob 30 Engineer
এখানে, getEmployeeDetails ফাংশনটি একটি ৩-ভ্যালু Tuple রিটার্ন করছে, যেখানে প্রথম উপাদান একটি string, দ্বিতীয় উপাদান একটি number এবং তৃতীয় উপাদান একটি string।
২. Tuples এর সাথে ডেটা স্ট্রাকচার
Tuples শুধু মান রাখার জন্য নয়, এগুলো ডেটা স্ট্রাকচার হিসেবেও ব্যবহার করা যেতে পারে, যেমন বিভিন্ন টাইপের ভ্যালু গ্রুপিং করতে। এর মাধ্যমে, আপনি একাধিক তথ্য সংরক্ষণ করতে পারেন, যেখানে প্রতিটি উপাদান বিশেষ কিছু নির্দেশ করে।
উদাহরণ:
একটি Tuple যাতে দুটি মানের মধ্যে সম্পর্ক সৃষ্টির জন্য, যেমন দুটি ভিন্ন ডেটা টাইপের মান সংরক্ষণ করতে পারেন।
type Product = [string, number, boolean];
const product1: Product = ["Laptop", 1000, true];
const product2: Product = ["Phone", 500, false];
console.log(product1); // Output: [ 'Laptop', 1000, true ]
console.log(product2); // Output: [ 'Phone', 500, false ]
এখানে, Product নামের একটি Tuple টাইপ ডিক্লেয়ার করা হয়েছে, যেখানে:
- প্রথম উপাদানটি একটি
string(প্রোডাক্ট নাম) - দ্বিতীয় উপাদানটি একটি
number(মূল্য) - তৃতীয় উপাদানটি একটি
boolean(স্টক বা উপলভ্যতা)
৩. Tuple এর সাথে Destructuring
Tuple এর সাথে destructuring ব্যবহার করা খুবই সাধারণ এবং সহজ। এই প্রক্রিয়ার মাধ্যমে, আপনি Tuple-এর মানগুলো আলাদা আলাদা ভেরিয়েবলে একসাথে বের করে আনতে পারেন।
উদাহরণ:
const person: [string, number] = ["John", 28];
// Destructuring
let [name, age] = person;
console.log(name); // Output: John
console.log(age); // Output: 28
এখানে, person Tuple থেকে আমরা name এবং age ভেরিয়েবলে মানগুলো বের করে এনেছি।
৪. Tuples-এর সাথে Optional Elements
TypeScript-এ Tuple-এর মধ্যে কিছু optional উপাদান রাখা সম্ভব। এর জন্য আপনি টাইপের মধ্যে ? চিহ্ন ব্যবহার করতে পারেন।
উদাহরণ:
type ProductInfo = [string, number, string?];
const product1: ProductInfo = ["Laptop", 1200];
const product2: ProductInfo = ["Phone", 600, "Black"];
console.log(product1); // Output: [ 'Laptop', 1200 ]
console.log(product2); // Output: [ 'Phone', 600, 'Black' ]
এখানে, ProductInfo Tuple-এর তৃতীয় উপাদানটি optional, অর্থাৎ, এটি থাকতে পারে বা নাও থাকতে পারে।
৫. Tuples এর সাথে স্প্রেড অপারেটর
TypeScript-এ আপনি Tuple এর সাথে স্প্রেড অপারেটর ব্যবহার করে নতুন Tuple তৈরি করতে পারেন বা Tuple এর ভিতরের উপাদানগুলি আলাদা আলাদা ভেরিয়েবলে সেট করতে পারেন।
উদাহরণ:
const person: [string, number, string] = ["Alice", 30, "Engineer"];
// স্প্রেড অপারেটর দিয়ে নতুন Tuple তৈরি
const newPerson: [string, number, string, boolean] = [...person, true];
console.log(newPerson); // Output: [ 'Alice', 30, 'Engineer', true ]
এখানে, আমরা person Tuple থেকে স্প্রেড অপারেটর দিয়ে নতুন একটি Tuple তৈরি করেছি এবং একটি নতুন উপাদান যোগ করেছি।
সারাংশ
Tuples TypeScript-এ বিভিন্ন ধরনের মান একটি একক ডেটা স্ট্রাকচারে ধারণ করার জন্য ব্যবহৃত হয়। এটি একাধিক টাইপের মান রাখার জন্য উপযোগী, এবং ফাংশন বা ডেটা স্ট্রাকচার তৈরি করার সময় খুবই কার্যকরী। ফাংশনে Tuple রিটার্ন, destructuring, optional elements, এবং স্প্রেড অপারেটর ব্যবহার করে এটি আরও শক্তিশালী হয়ে ওঠে। TypeScript-এ Tuple ব্যবহার করে আপনি কোডের স্ট্রাকচার উন্নত করতে পারেন এবং টাইপ সেফটি নিশ্চিত করতে পারেন।