TypeScript-এ টাইপ সিস্টেম একটি শক্তিশালী ফিচার। টাইপ অ্যালিয়াস (type alias) এবং কাস্টম টাইপস (custom types) ব্যবহার করে আপনি আপনার কোডে আরও সঠিকতা, স্পষ্টতা এবং রিচ টাইপিং যোগ করতে পারেন। টাইপ অ্যালিয়াস এবং কাস্টম টাইপস আপনার প্রজেক্টের কোডকে আরও পঠনযোগ্য এবং বজায় রাখার জন্য সহজ করে তোলে। নিচে টাইপ অ্যালিয়াস এবং কাস্টম টাইপস ব্যবহার করার বিস্তারিত ব্যাখ্যা দেওয়া হলো।
টাইপ অ্যালিয়াস (Type Alias)
টাইপ অ্যালিয়াস ব্যবহার করে আপনি একটি টাইপকে একটি নতুন নাম দিতে পারেন। এটি বিশেষত তখন দরকার হয় যখন একটি টাইপ বারবার ব্যবহার করতে হয় এবং আপনি কোডে তা পুনরায় ব্যবহারের জন্য একটি সংক্ষিপ্ত এবং বোধগম্য নাম চান।
টাইপ অ্যালিয়াস তৈরি করা
টাইপ অ্যালিয়াস তৈরি করতে type কীওয়ার্ড ব্যবহার করা হয়।
type StringOrNumber = string | number;
এখন StringOrNumber একটি টাইপ হিসেবে কাজ করবে যা string অথবা number হতে পারে।
টাইপ অ্যালিয়াসের ব্যবহার
let value: StringOrNumber;
value = 10; // Valid
value = "Hello"; // Valid
value = true; // Error: Type 'boolean' is not assignable to type 'StringOrNumber'
এভাবে আপনি টাইপ অ্যালিয়াস ব্যবহার করে অনেক কমপ্লেক্স টাইপকে একটি সংক্ষিপ্ত নাম দিয়ে কোডের মধ্যে ব্যবহার করতে পারেন।
কাস্টম টাইপস (Custom Types)
TypeScript-এ আপনি কাস্টম টাইপস তৈরি করতে পারেন বিভিন্ন ডাটা স্ট্রাকচার (যেমন, অবজেক্ট, অ্যারে, ফাংশন) এর জন্য। এগুলো আপনাকে আরও স্পেসিফিক এবং কাস্টমাইজড টাইপিং সুবিধা দেয়।
অবজেক্ট টাইপের কাস্টম টাইপ
যখন আপনি একটি নির্দিষ্ট অবজেক্ট স্ট্রাকচার তৈরি করতে চান, তখন কাস্টম টাইপ ব্যবহার করতে পারেন।
type Person = {
name: string;
age: number;
isEmployed: boolean;
};
এখন আপনি Person টাইপ ব্যবহার করে অবজেক্ট তৈরি করতে পারবেন।
let person: Person = {
name: "John",
age: 30,
isEmployed: true
};
ফাংশন টাইপের কাস্টম টাইপ
TypeScript-এ আপনি ফাংশন টাইপও কাস্টমাইজ করতে পারেন।
type Add = (a: number, b: number) => number;
এখন আপনি এই ফাংশন টাইপ ব্যবহার করতে পারবেন।
const add: Add = (a, b) => a + b;
console.log(add(5, 3)); // Output: 8
অ্যারে টাইপের কাস্টম টাইপ
অ্যারে টাইপের জন্যও কাস্টম টাইপ তৈরি করা যায়।
type StringArray = string[];
এখন আপনি StringArray টাইপ ব্যবহার করতে পারেন শুধুমাত্র স্ট্রিং মানের অ্যারে হিসেবে।
let colors: StringArray = ["red", "green", "blue"];
টুপল (Tuple) টাইপ
TypeScript-এ টুপল টাইপ ব্যবহার করে আপনি নির্দিষ্ট সংখ্যক উপাদান ধারণকারী অ্যারে তৈরি করতে পারেন, যেখানে প্রতিটি উপাদান একটি নির্দিষ্ট টাইপের হতে হবে।
type Point = [number, number];
এখন Point টাইপ একটি টুপল হবে, যার প্রথম এবং দ্বিতীয় উপাদান হবে number টাইপ।
let point: Point = [10, 20];
ইউনিয়ন টাইপ (Union Type)
ইউনিয়ন টাইপ ব্যবহার করে একাধিক টাইপকে একত্রিত করা যায়, অর্থাৎ একটি ভেরিয়েবল একাধিক টাইপ ধারণ করতে পারে। এটি একটি শক্তিশালী কাস্টম টাইপ তৈরির পদ্ধতি।
type StringOrNumber = string | number;
এখন এই টাইপটি এমন ভেরিয়েবল ধারণ করবে যেটি হয় স্ট্রিং বা নংম্বর।
let value: StringOrNumber = "Hello";
value = 100;
ইন্টারফেস (Interface) বনাম টাইপ অ্যালিয়াস (Type Alias)
Interface এবং Type Alias উভয়ই কাস্টম টাইপ তৈরি করতে ব্যবহৃত হয়। তবে, তাদের মধ্যে কিছু পার্থক্য রয়েছে:
- ইন্টারফেস সাধারণত অবজেক্ট টাইপের জন্য ব্যবহার করা হয় এবং এটি এক্সটেনশন ও ডেক্লারেশন মার্জ করতে সক্ষম।
- টাইপ অ্যালিয়াস আরো জেনেরাল, এবং একাধিক টাইপ যেমন ইউনিয়ন, টুপল ইত্যাদি নিয়ে কাজ করতে পারে।
উদাহরণ: ইন্টারফেস vs টাইপ অ্যালিয়াস
// ইন্টারফেস
interface PersonInterface {
name: string;
age: number;
}
// টাইপ অ্যালিয়াস
type PersonType = {
name: string;
age: number;
};
ইন্টারফেস এক্সটেনশন:
interface Employee extends PersonInterface {
salary: number;
}
উপসংহার
TypeScript-এ টাইপ অ্যালিয়াস এবং কাস্টম টাইপস ব্যবহার করা আপনার কোডকে আরও স্পষ্ট এবং টাইপ সুরক্ষিত (type-safe) করে তোলে। আপনি টাইপ অ্যালিয়াস দিয়ে একাধিক টাইপকে একত্রিত করতে পারেন এবং কাস্টম টাইপস তৈরি করে বিভিন্ন ডাটা স্ট্রাকচার এবং ফাংশন টাইপকে কাস্টমাইজ করতে পারেন। টাইপিংয়ের সঠিক ব্যবহারে কোডের ভুল কম হয় এবং আরও রিডেবল কোড লেখা সম্ভব হয়।
Read more