টাইপস্ক্রিপ্টে ব্যবহৃত টাইপসমূহ
জাভাস্ক্রিপ্টের সাধারণ টাইপগুলো ছাড়াও টাইপস্ক্রিপ্টে আরও কিছু উন্নত টাইপ রয়েছে:
টাইপ | ব্যবহার |
---|---|
Primitive | string , number , boolean , null , undefined সংরক্ষণে। |
Reference | object , array , tuple টাইপের ডেটা সংরক্ষণে। |
Interface | অবজেক্টের স্ট্রাকচার নির্ধারণে ব্যবহৃত হয় |
Any | যে কোনো টাইপের মান গ্রহণে। টাইপ চেকিং এড়াতে। |
Void | রিটার্ন ছাড়া ফাংশন। এমন ফাংশনে যেটি কোনো রিটার্ন ভ্যালু দেয় না |
Never | এমন মান যা কখনো রিটার্ন হয় না। |
Unknown | টাইপ নিশ্চিত নয়, ব্যবহারের আগে চেক প্রয়োজন। |
Enum | কিছু নির্দিষ্ট মানের সেট তৈরি করতে। |
Union | একাধিক টাইপের ভ্যালু গ্রহণ করার সুবিধা দিতে |
Intersection | একাধিক টাইপ একত্রে ব্যবহার করে কম্বাইন্ড টাইপ তৈরি করতে |
টাইপস্ক্রিপ্টের কিছু সীমাবদ্ধতা
সীমাবদ্ধতা | ব্যাখ্যা |
---|---|
টাইপ সিস্টেম জটিল হয়ে যেতে পারে | বড় প্রজেক্টে টাইপ ব্যবস্থাপনা অনেক সময় জটিল ও কঠিন হয়ে পড়ে। |
সব লাইব্রেরি টাইপসক্রিপ্ট সাপোর্ট করে না | অনেক থার্ড-পার্টি লাইব্রেরিতে টাইপ ডেফিনিশন না থাকায় আলাদা ডিফিনিশন ইনস্টল করতে হয়। |
ছোট প্রজেক্টে অতিরিক্ত জটিলতা তৈরি করে | ছোট ও সিম্পল প্রজেক্টে টাইপস্ক্রিপ্ট ব্যবহার Over Engineering হয়ে যেতে পারে। |
পুরনো কোডবেস মাইগ্রেট করা কঠিন হতে পারে | বিদ্যমান বড় কোডবেসকে টাইপস্ক্রিপ্টে রূপান্তর করা সময়সাপেক্ষ ও ঝামেলাপূর্ণ হতে পারে। |
টাইপ অ্যাসাইনমেন্ট (Type Assignment)
একটি ভেরিয়েবল তৈরি করার সময় TypeScript সাধারণত দুইভাবে টাইপ অ্যাসাইন করে:
- ইমপ্লিসিট (Implicit)
- এক্সপ্লিসিট (Explicit)
উদাহরণস্বরূপ নিচের দুই ক্ষেত্রেই firstName
এর টাইপ হচ্ছে string
।
ইমপ্লিসিট টাইপ (Implicit Type)
ইমপ্লিসিট মানে হলো টাইপস্ক্রিপ্ট নিজেই অ্যাসাইন করা ভ্যালুর উপর ভিত্তি করে টাইপটি “অনুমান” করে নেয়:
let firstName = "Dylan";
ইমপ্লিসিট অ্যাসাইনমেন্ট টাইপস্ক্রিপ্টকে টাইপটি অনুমান করতে বাধ্য করে।
এই ধরণের টাইপ অ্যাসাইনমেন্ট সাধারণত ছোট হয়, দ্রুত লেখা যায় এবং ডেভেলপমেন্ট বা টেস্টিংয়ের সময় বেশি ব্যবহৃত হয়।
এক্সপ্লিসিট টাইপ (Explicit Type)
এক্সপ্লিসিট মানে হলো টাইপটি স্পষ্টভাবে লিখে দেওয়া:
let firstName: string = "Dylan";
এক্সপ্লিসিট টাইপ অ্যাসাইনমেন্ট কোড পড়া সহজ করে তোলে এবং উদ্দেশ্যকে স্পষ্টভাবে প্রকাশ করে।
Last updated on