Enums এর ধারণা এবং ব্যবহার

TypeScript Enums এবং Tuples - টাইপস্ক্রিপ্ট (Typescript) - Web Development

239

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

Enums মূলত দুটি ধরনের হয়ে থাকে:

  1. Numeric Enums
  2. String Enums

১. Numeric Enums

ডিফল্টভাবে, TypeScript এ Enums মান গুলি সংখ্যা (numeric) দিয়ে শুরু হয়। প্রথম মানের জন্য ০ নির্ধারণ করা হয়, এবং পরবর্তী মানগুলি একে একে ইনক্রিমেন্ট (বৃদ্ধি) করা হয়।

উদাহরণ:

enum Direction {
  Up,    // 0
  Down,  // 1
  Left,  // 2
  Right  // 3
}

let move: Direction = Direction.Up;
console.log(move); // 0

এখানে, Direction নামে একটি Enum ডিফাইন করা হয়েছে, যার মানগুলো Up, Down, Left, এবং Right। প্রথম মান Up ডিফল্টভাবে ০ হবে, পরবর্তী মানগুলি ১, ২, ৩... এর মতো ক্রমান্বয়ে বৃদ্ধি পাবে।

কাস্টম মান নির্ধারণ

আপনি যদি চান, Enum এর মানগুলি কাস্টম সংখ্যাও দিতে পারেন।

enum Direction {
  Up = 5,
  Down = 10,
  Left = 15,
  Right = 20
}

let move: Direction = Direction.Left;
console.log(move); // 15

এখানে, আমরা Direction Enum এর প্রতিটি মানের জন্য কাস্টম সংখ্যার মান নির্ধারণ করেছি।


২. String Enums

String Enums হল এমন Enums যেখানে প্রতিটি মান একটি স্ট্রিং হয়ে থাকে। এই ধরনের Enums অনেক সময় যখন আপনি স্পষ্ট স্ট্রিং মান রাখতে চান, তখন ব্যবহার করা হয়।

উদাহরণ:

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

let favoriteColor: Color = Color.Green;
console.log(favoriteColor); // "GREEN"

এখানে, Color Enum এর প্রতিটি মান একটি স্ট্রিং হিসাবে নির্ধারণ করা হয়েছে, যেমন "RED", "GREEN", এবং "BLUE"


৩. হেটেরোজেনিয়াস Enums

TypeScript এ একটি Enum এ বিভিন্ন ধরনের (সংখ্যা এবং স্ট্রিং) মানও থাকতে পারে, যা হেটেরোজেনিয়াস (heterogeneous) Enum হিসেবে পরিচিত। তবে এই ধরনের Enums সাধারণত কম ব্যবহৃত হয় এবং ব্যবহারে সতর্ক থাকা উচিত।

উদাহরণ:

enum Response {
  No = 0,
  Yes = "YES"
}

let response: Response = Response.Yes;
console.log(response); // "YES"

এখানে, Response Enum এর একটি মান 0 (নম্বর), এবং অন্যটি "YES" (স্ট্রিং)।


৪. Enum এর মেম্বারদের এক্সেস

Enum এর মধ্যে থাকা মেম্বারগুলোকে আপনি সরাসরি তার নাম বা মান দিয়ে এক্সেস করতে পারেন।

উদাহরণ:

enum Day {
  Monday,
  Tuesday,
  Wednesday,
  Thursday,
  Friday,
  Saturday,
  Sunday
}

let today: Day = Day.Monday;
console.log(today);  // 0 (প্রথম মান)
console.log(Day[0]); // "Monday" (ব্যাকওয়ার্ড এক্সেস)

এখানে, Day Enum এর মাধ্যমে আপনি নির্দিষ্ট দিনের মান বের করতে পারেন, যেমন Day.Monday। এছাড়াও আপনি মান দিয়ে নামও বের করতে পারেন, যেমন Day[0] এর মান হবে "Monday"


৫. Const Enum

TypeScript এ আপনি const Enum তৈরি করতে পারেন। এটি এমন একটি Enum যেটি কম্পাইলেশনের সময় সরাসরি তার মানগুলোর সাথে রূপান্তরিত হয় এবং runtime এ Enum কে প্রসেস করার প্রয়োজন হয় না, যা পারফরমেন্স বৃদ্ধি করে।

উদাহরণ:

const enum Direction {
  Up = 1,
  Down,
  Left,
  Right
}

let move = Direction.Up;
console.log(move); // 1

এখানে, const enum ব্যবহার করার কারণে কোড কম্পাইল করার সময় Enum এর মান সরাসরি ইনলাইন হয়ে যাবে, ফলে কোডের আকার ছোট হবে এবং পারফরমেন্স ভালো হবে। তবে, আপনি const Enum এর মানগুলি শুধুমাত্র কম্পাইল টাইমে ব্যবহার করতে পারবেন এবং runtime এ এটি সাধারণ Enum এর মতো কাজ করবে না।


৬. Enum এর ব্যবহারিক উদাহরণ

Enums ব্যবহারের একটি জনপ্রিয় ক্ষেত্র হলো State management (অবস্থা ব্যবস্থাপনা), যেমন একজন ব্যবহারকারীর অবস্থা চেক করা:

উদাহরণ:

enum UserStatus {
  Active = "ACTIVE",
  Inactive = "INACTIVE",
  Suspended = "SUSPENDED"
}

function checkUserStatus(status: UserStatus): void {
  if (status === UserStatus.Active) {
    console.log("User is active.");
  } else if (status === UserStatus.Inactive) {
    console.log("User is inactive.");
  } else if (status === UserStatus.Suspended) {
    console.log("User is suspended.");
  }
}

checkUserStatus(UserStatus.Active); // "User is active."
checkUserStatus(UserStatus.Suspended); // "User is suspended."

এখানে, আমরা UserStatus Enum এর মাধ্যমে ব্যবহারকারীর অবস্থা চেক করছি, যা কোডের পাঠযোগ্যতা এবং পরিচালনা সহজ করে দেয়।


সারাংশ

TypeScript এর Enums শক্তিশালী একটি বৈশিষ্ট্য যা কোডকে আরো সংগঠিত এবং সহজে পরিচালনাযোগ্য করে তোলে। এটি বিভিন্ন ধরনের কনস্ট্যান্ট মানের জন্য একটি কেন্দ্রীয় মেকানিজম প্রদান করে, এবং কোডে দৃশ্যমানতা ও নির্ভুলতা আনতে সহায়ক হয়। আপনি Numeric Enums, String Enums, এবং Const Enums ব্যবহার করে বিভিন্ন পরিস্থিতিতে এটির সুবিধা গ্রহণ করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...