টাইপ এনোটেশনস

TypeScript এর বেসিক সিনট্যাক্স - টাইপস্ক্রিপ্ট (Typescript) - Web Development

299

TypeScript একটি স্ট্যাটিক টাইপড ভাষা, যার মানে হলো আপনি ভেরিয়েবল, ফাংশন, প্যারামিটার, এবং রিটার্ন টাইপগুলো স্পষ্টভাবে ডিফাইন করতে পারেন। টাইপ এনোটেশনস (Type Annotations) TypeScript এর একটি গুরুত্বপূর্ণ বৈশিষ্ট্য, যা কোডের গুণগত মান বৃদ্ধি করে এবং টাইপ সম্পর্কিত ভুলগুলো কমপাইল টাইমে ধরতে সাহায্য করে। এই গাইডে আমরা TypeScript এর টাইপ এনোটেশনস সম্পর্কে বিস্তারিত আলোচনা করব।


টাইপ এনোটেশন কী?

টাইপ এনোটেশন হলো একটি সুনির্দিষ্ট টাইপ (যেমন, number, string, boolean, ইত্যাদি) ডিফাইন করা যা ভেরিয়েবল বা ফাংশন প্যারামিটার/রিটার্ন ভ্যালুর সাথে সম্পর্কিত। TypeScript এ টাইপ এনোটেশনস ব্যবহার করার মাধ্যমে আমরা কোডের টাইপ চেকিং এবং নিরাপত্তা বাড়াতে পারি।

টাইপ এনোটেশনের উদাহরণ

১. ভেরিয়েবল টাইপ

TypeScript এ ভেরিয়েবলের টাইপ ডিফাইন করা খুব সহজ। টাইপ এনোটেশন ব্যবহার করে আমরা একটি ভেরিয়েবলের জন্য নির্দিষ্ট টাইপ নির্ধারণ করতে পারি।

let age: number = 25;
let name: string = "John";
let isActive: boolean = true;

এখানে, age ভেরিয়েবলটি number টাইপের, name ভেরিয়েবলটি string টাইপের, এবং isActive ভেরিয়েবলটি boolean টাইপের।

২. অ্যারে টাইপ

TypeScript এ আপনি অ্যারের জন্য টাইপ ডিফাইন করতে পারেন। অ্যারের মধ্যে যেসব উপাদান থাকবে, তার টাইপও এখানে ডিফাইন করতে হবে।

let numbers: number[] = [1, 2, 3, 4];
let fruits: string[] = ["apple", "banana", "cherry"];

এখানে, numbers একটি number[] টাইপের অ্যারে এবং fruits একটি string[] টাইপের অ্যারে।

৩. অবজেক্ট টাইপ

TypeScript এ অবজেক্টের জন্যও টাইপ ডিফাইন করা যায়। আপনি অবজেক্টের প্রতিটি প্রপার্টির টাইপ উল্লেখ করতে পারেন।

let person: { name: string, age: number } = { name: "John", age: 30 };

এখানে, person অবজেক্টটির name প্রপার্টি string টাইপের এবং age প্রপার্টি number টাইপের।

৪. ফাংশন টাইপ

TypeScript এ ফাংশনের প্যারামিটার এবং রিটার্ন টাইপও ডিফাইন করা যায়। এটি টাইপ সেফটি নিশ্চিত করে এবং ভুল কম্পাইল টাইমেই ধরতে সাহায্য করে।

function greet(name: string): string {
  return "Hello, " + name;
}

এখানে, greet ফাংশনটি একটি string টাইপের প্যারামিটার নেয় এবং একটি string টাইপের মান রিটার্ন করে।

৫. ফাংশন টাইপ (টাইপ এলিয়াস ব্যবহার করে)

আপনি টাইপ এলিয়াস ব্যবহার করে ফাংশন টাইপও ডিফাইন করতে পারেন। এটি যখন ফাংশনের সাথে একাধিক জায়গায় একই টাইপ ব্যবহার করতে হয়, তখন খুব উপকারী।

type GreetFunction = (name: string) => string;

const greet: GreetFunction = (name) => {
  return "Hello, " + name;
};

এখানে, GreetFunction টাইপ এলিয়াসটি একটি ফাংশন টাইপ ডিফাইন করেছে, যা একটি string প্যারামিটার নেয় এবং একটি string রিটার্ন করে।

৬. ইউনিয়ন টাইপ (Union Types)

TypeScript এ আপনি একাধিক টাইপের মধ্যে নির্বাচন করতে ইউনিয়ন টাইপ ব্যবহার করতে পারেন। এর মানে হলো, একটি ভেরিয়েবল একাধিক টাইপ ধারণ করতে পারে।

let value: number | string = "Hello";
value = 42;  // valid
value = true; // Error: boolean is not assignable to number | string

এখানে, value ভেরিয়েবলটি number বা string টাইপ ধারণ করতে পারে।

৭. এনাম (Enums)

TypeScript এ আপনি এনাম ব্যবহার করে কিছু নির্দিষ্ট মানের জন্য টাইপ ডিফাইন করতে পারেন, যা কোডের স্পষ্টতা বাড়ায় এবং একাধিক মানের মধ্যে সুনির্দিষ্ট নির্বাচন করতে সাহায্য করে।

enum Color {
  Red = "RED",
  Green = "GREEN",
  Blue = "BLUE"
}

let color: Color = Color.Red;

এখানে, Color নামক এনামটি তিনটি ভ্যালু: Red, Green, এবং Blue ধারণ করে, এবং color ভেরিয়েবলটি Color টাইপ ধারণ করে।


টাইপ এনোটেশন কেন ব্যবহার করবেন?

  1. টাইপ সেফটি: টাইপ এনোটেশন আপনাকে টাইপ সেফটি নিশ্চিত করতে সাহায্য করে, যার মানে আপনি যে টাইপের ভেরিয়েবল, প্যারামিটার বা রিটার্ন ভ্যালু আশা করেন, সেটি কখনো ভুল হবে না।
  2. ডিবাগিং সহজ: টাইপ ভুল থাকলে এটি কম্পাইল টাইমেই ধরা পড়ে, ফলে ডিবাগিং প্রক্রিয়া সহজ হয়।
  3. ইন্টেলিজেন্স এবং অটো কমপ্লিশন: TypeScript IDE গুলোতে টাইপ এনোটেশন ব্যবহারের কারণে অটো-কমপ্লিশন এবং ইন্টেলিজেন্স ফিচার অনেক বেশি কার্যকরী হয়, যা কোড লেখার সময় ভুল কমাতে সাহায্য করে।
  4. প্রজেক্ট স্কেল করা সহজ: বড় প্রজেক্টে টাইপ সিস্টেম ব্যবহার করা কোডের রক্ষণাবেক্ষণ সহজ করে এবং অন্য ডেভেলপারদের জন্য কোড বুঝতে সহায়ক হয়।

উপসংহার

TypeScript এর টাইপ এনোটেশনস কোডের গুণগত মান উন্নত করতে সাহায্য করে। এটি টাইপ সেফটি নিশ্চিত করে এবং কোডে ভুল কমিয়ে আনে। টাইপ এনোটেশন ব্যবহারের মাধ্যমে আপনি আরো সঠিক এবং নিরাপদ কোড লিখতে পারবেন। TypeScript এর টাইপ সিস্টেম প্রোগ্রামারদের জন্য অনেক ধরনের উন্নত ফিচার এবং সুবিধা প্রদান করে, যা JavaScript এ সম্ভব নয়।

Content added By
Promotion

Are you sure to start over?

Loading...