অবজেক্ট এবং এরে টাইপিং

TypeScript মডেলিং এবং ডেটা স্ট্রাকচার - টাইপস্ক্রিপ্ট (Typescript) - Web Development

204

TypeScript এ টাইপিং খুবই গুরুত্বপূর্ণ, কারণ এটি কোডের মান এবং নিরাপত্তা নিশ্চিত করে। অবজেক্ট টাইপিং (Object Typing) এবং এরে টাইপিং (Array Typing) এর মাধ্যমে আপনি আপনার কোডের বিভিন্ন উপাদানের টাইপ নির্ধারণ করতে পারেন, যা কোডের কার্যকারিতা এবং ব্যবহারের সময় সমস্যা কমিয়ে দেয়।


১. অবজেক্ট টাইপিং (Object Typing)

TypeScript এ আপনি অবজেক্ট টাইপ করতে পারেন যাতে এর প্রপার্টি এবং তাদের টাইপ নির্দিষ্ট থাকে। আপনি সাধারণত অবজেক্ট টাইপের জন্য ইন্টারফেস (interface) বা টাইপ (type) ব্যবহার করেন।

অবজেক্ট টাইপিং - ইন্টারফেস ব্যবহার:

interface Person {
  name: string;
  age: number;
  greet(): void;
}

const person: Person = {
  name: "John",
  age: 30,
  greet() {
    console.log(`Hello, my name is ${this.name}`);
  }
};

person.greet();  // Output: Hello, my name is John

এখানে Person নামে একটি ইন্টারফেস তৈরি করা হয়েছে, যা name, age এবং greet মেথডের টাইপ নির্দিষ্ট করে। এর মাধ্যমে আপনি একটি অবজেক্টের কাঠামো সুনির্দিষ্ট করে দিতে পারেন।

অবজেক্ট টাইপিং - টাইপ ব্যবহার:

type Person = {
  name: string;
  age: number;
  greet(): void;
};

const person: Person = {
  name: "Alice",
  age: 25,
  greet() {
    console.log(`Hello, my name is ${this.name}`);
  }
};

person.greet();  // Output: Hello, my name is Alice

এখানে, টাইপ Person ব্যবহার করা হয়েছে, যা name, age এবং greet মেথডের কাঠামো নির্ধারণ করে।


২. এরে টাইপিং (Array Typing)

এরে টাইপিং দ্বারা আপনি একটি এরে এর উপাদানগুলোর টাইপ নির্ধারণ করতে পারেন। TypeScript এ এরে টাইপিং দুইভাবে করা যায়:

  • এরে টাইপ সংজ্ঞায়ন (Array<Type>)
  • টাইপ অ্যারের মাধ্যমে (Type[])

এরে টাইপিং - Array<Type> ব্যবহার:

let numbers: Array<number> = [1, 2, 3, 4];
numbers.push(5);  // Valid
numbers.push("6");  // Error: Argument of type 'string' is not assignable to parameter of type 'number'.

এখানে numbers একটি Array<number> টাইপের এরে, অর্থাৎ এটি শুধুমাত্র সংখ্যার এরে হতে পারে।

এরে টাইপিং - Type[] ব্যবহার:

let strings: string[] = ["apple", "banana", "cherry"];
strings.push("orange");  // Valid
strings.push(1);  // Error: Argument of type 'number' is not assignable to parameter of type 'string'.

এখানে strings একটি string[] টাইপের এরে, অর্থাৎ এটি শুধুমাত্র স্ট্রিংয়ের এরে হতে পারে।


৩. এরে অবজেক্ট টাইপিং (Array of Objects)

TypeScript এ আপনি একটি অবজেক্টের এরে তৈরি করতে পারেন, যেখানে প্রতিটি অবজেক্টের টাইপ নির্দিষ্ট থাকে। এই কাজটি করার জন্য, আপনি অবজেক্ট টাইপিং ও এরে টাইপিং একসাথে ব্যবহার করবেন।

উদাহরণ:

type Product = {
  name: string;
  price: number;
};

const products: Product[] = [
  { name: "Laptop", price: 1200 },
  { name: "Smartphone", price: 800 }
];

console.log(products[0].name);  // Output: Laptop

এখানে products একটি Product[] টাইপের এরে, অর্থাৎ এটি name এবং price প্রপার্টি সহ অবজেক্টের একটি এরে।


৪. টাপল টাইপ (Tuple Type)

টাপল (Tuple) টাইপ হচ্ছে একটি এরে যার মধ্যে নির্দিষ্ট সংখ্যক উপাদান থাকতে হবে এবং প্রতিটি উপাদানের টাইপ আলাদা হতে পারে। TypeScript এ আপনি টাপল টাইপের মাধ্যমে এমন এরে তৈরি করতে পারেন যেখানে প্রতিটি উপাদান একটি নির্দিষ্ট টাইপের।

উদাহরণ:

let tuple: [string, number, boolean] = ["Alice", 30, true];
console.log(tuple[0]);  // Output: Alice
console.log(tuple[1]);  // Output: 30
console.log(tuple[2]);  // Output: true

এখানে tuple একটি টাপল টাইপ, যেখানে প্রথম উপাদানটি string, দ্বিতীয়টি number, এবং তৃতীয়টি boolean টাইপের।


৫. এরে ও অবজেক্টের মধ্যে পার্থক্য

  • এরে টাইপিং: এরে টাইপিং সাধারণত এক ধরনের উপাদান ধারণ করতে ব্যবহৃত হয় (যেমন সংখ্যার এরে, স্ট্রিংয়ের এরে ইত্যাদি)।
  • অবজেক্ট টাইপিং: অবজেক্ট টাইপিংয়ে আপনি একাধিক প্রপার্টি, ফাংশন, বা ভেরিয়েবলগুলো নির্দিষ্ট টাইপের সঙ্গে সংজ্ঞায়িত করতে পারেন, যা একটি কাঠামো গঠন করে।

৬. উপসংহার

TypeScript এর মাধ্যমে আপনি সহজেই অবজেক্ট এবং এরে টাইপিং করতে পারেন, যা কোডের স্ট্রং টাইপ সেফটি নিশ্চিত করে। আপনি interface বা type ব্যবহার করে অবজেক্টের কাঠামো নির্ধারণ করতে পারেন, এবং Array<Type> বা Type[] ব্যবহার করে এরে টাইপিং করতে পারেন। এছাড়া টাপল টাইপের মাধ্যমে আপনি একাধিক টাইপের উপাদান নিয়ে একটি নির্দিষ্ট দৈর্ঘ্যের এরে তৈরি করতে পারেন। এইসব ফিচার TypeScript এর শক্তিশালী টাইপ সিস্টেমকে আরও কার্যকর এবং নিরাপদ করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...