Mahbub The Cool

Mahbub  The  Cool

Share

10/10/2025

Utmachora 🖤

02/11/2024

Type alias আর Interface-এর মধ্যে পার্থক্য কী, আর কখন কোনটা ব্যবহার করা উচিত? 💡
টাইপ এলিয়াস এবং ইন্টারফেস দুটোই অবজেক্টের টাইপ ডিফাইন করতে ব্যবহৃত হয়, তবে দুটোর কাজ একটু ভিন্ন। 🕵️‍♂️

🧩 Type alias (টাইপ এলিয়াস)
টাইপ এলিয়াস আসলে শুধু অবজেক্টের টাইপ নির্ধারণের জন্য না, বরং যেকোনো ধরনের টাইপ নির্ধারণে ব্যবহার করা যায়। অর্থাৎ, আমরা চাইলে number, string, union, intersection, tuple বা primitive টাইপ সবকিছুই type alias দিয়ে বলে দিতে পারি। উদাহরণস্বরূপ, ধরেন আমরা type ID = number; এভাবে একটা টাইপ বানিয়ে নিলাম। এরপর যখনই ID টাইপের ভ্যারিয়েবল লাগবে, আমরা শুধু ID টাইপটা ব্যবহার করলেই কাজ হয়ে যাবে, বারবার number লিখতে হবে না।
আরও একটা সুবিধা হচ্ছে, টাইপ এলিয়াসে আমরা ইন্টারসেকশন টাইপ ব্যবহার করতে পারি, যেটা দিয়ে দুই বা তার বেশি টাইপ একত্রে মিশিয়ে একটি নতুন টাইপ বানানো যায়।
তবে একটা ব্যাপার মনে রাখা জরুরি: টাইপ ডিক্লেয়ারেশন মার্জিং সাপোর্ট করে না । অর্থাৎ, একই নামে একাধিক টাইপ তৈরি করতে গেলে টাইপস্ক্রিপ্ট আমাদের লাল বাতি দেখাবে 😀

🧩 Interface (ইন্টারফেস)
ইন্টারফেস মূলত অবজেক্ট টাইপ নির্ধারণের জন্য ব্যবহার করা হয়। ইন্টারফেসকে আমরা extend করে অবজেক্টের প্রপার্টি যোগ করতে পারি। এই কারণেই, যেকোনো অবজেক্ট ওরিয়েন্টেড ফিচার যেমন ইনহেরিটেন্স দরকার হলে ইন্টারফেস খুবই উপযোগী।
আর ইন্টারফেসের আরেকটা বিশেষ সুবিধা হলো, একই নামে একাধিক ইন্টারফেস তৈরি করা গেলে টাইপস্ক্রিপ্ট সেই ইন্টারফেসগুলোকে মার্জ করে ফেলবে, যাকে বলে ডিক্লেয়ারেশন মার্জিং। এটা টাইপ এলিয়াসে সম্ভব না, কিন্তু ইন্টারফেসে আমরা একই নামে বারবার ইন্টারফেস তৈরি করতে পারি।

🔑 তাহলে Type আর Interface এর মধ্যে পার্থক্য কী?
টাইপ এলিয়াসে : যেকোনো প্রিমিটিভ টাইপ, ইউনিয়ন, ইন্টারসেকশন এবং অবজেক্ট টাইপ করা যায়। কিন্তু একই নামে একাধিক টাইপ বানানো যাবে না।
ইন্টারফেসে : অবজেক্ট টাইপ নির্ধারণ করা যায় এবং extend বা ইনহেরিট করে নতুন প্রপার্টি যোগ করা যায়। একই নামে একাধিক ইন্টারফেস বানানো সম্ভব, যেগুলো টাইপস্ক্রিপ্ট মার্জ করে নেয়।

📌 কখন কোনটা ব্যবহার করবেন?
যদি জটিল টাইপ দরকার হয় বা অনেক টাইপ একত্রে মিশিয়ে (ইন্টারসেকশন) কিছু তৈরি করতে চান, তাহলে টাইপ এলিয়াস বেছে নিন।
আর যদি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ফিচার প্রয়োজন হয় যেমন ইনহেরিটেন্স বা এক্সটেন্ড করা, তাহলে ইন্টারফেস সবচেয়ে ভালো অপশন। ইন্টারফেস ক্লাস এবং অবজেক্টের জন্যই বেশি উপযোগী।

07/09/2024

আমার হাড় কালা করলাম রে..।।
আমার দেহ কালার লাইগা রে.. ।।
Covered by: Mahbub || Rayhan || Fahad || Ratul || Khokon || Omeo

Want your establishment to be the top-listed Arts & Entertainment in Sylhet?
Click here to claim your Sponsored Listing.

Address


Sylhet, Bangladesh
Sylhet