𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁 𝗣𝗿𝗶𝗺𝗶𝘁𝗶𝘃𝗲 𝗗𝗮𝘁𝗮 𝗧𝘆𝗽𝗲𝘀
TypeScript আপনাকে ভেরিয়েবলে কীভাবে ডেটা অ্যাসাইন করবেন তা পরিচালনা করার সুবিধা দেয়। এটি করার জন্য আপনার কাছে দুটি প্রধান উপায় রয়েছে।
১. Explicit assignment
আপনি TypeScript-কে স্পষ্টভাবে বলে দেন যে একটি ভ্যালুর টাইপ কী।
উদাহরণ: let str: string = "hello";
২. Implicit assignment
TypeScript ভ্যালুর ওপর ভিত্তি করে টাইপটি অনুমান করে। একে inferred typing বলা হয়।
উদাহরণ: let str = "hello";
Inferred typing থাকা সত্ত্বেও, TypeScript আপনার কোড সুরক্ষিত রাখে। আপনি যদি একটি string-কে number-এ পরিবর্তন করার চেষ্টা করেন, তবে TypeScript একটি এরর (error) দেখাবে।
কখন আপনার explicit assignment ব্যবহার করা উচিত?
- যখন আপনি কোনো ভ্যালু ছাড়াই তাৎক্ষণিকভাবে একটি ভেরিয়েবল ডিক্লেয়ার করেন।
- ফাংশনের ইনপুট এবং আউটপুটের জন্য।
- অবজেক্ট ইন্টারফেসের (object interfaces) ভেতরে।
- ক্লাসের (classes) ভেতরে।
TypeScript জটিল অবজেক্টের জন্য duck typing ব্যবহার করে। যদি একটি অবজেক্ট নির্দিষ্ট কোনো কাঠামোর (structure) সাথে মিলে যায়, তবে TypeScript সেই কাঠামোটি ব্যবহার করে। এটি আপনাকে এমন কোনো নতুন প্রপার্টি (property) যোগ করতে দেবে না যা মূল সংজ্ঞায় (definition) নেই।
TypeScript-এ JavaScript primitive types:
- number: পূর্ণসংখ্যা (integers), দশমিক (decimals), হেক্সাডেসিমেল (hex), বাইনারি (binary) এবং সায়েন্টিফিক নোটেশন সমর্থন করে।
- bigint: অত্যন্ত বড় পূর্ণসংখ্যার জন্য ব্যবহৃত হয়।
- string: ক্যারেক্টারের একটি অনুক্রম।
- boolean: true অথবা false।
- symbol: অনন্য (unique) ভ্যালু তৈরি করে।
- null: একটি খালি বা অস্তিত্বহীন ভ্যালু নির্দেশ করে।
- undefined: ভ্যালুহীন একটি ভেরিয়েবলের জন্য প্লেসহোল্ডার।
null এবং undefined সম্পর্কে নোট: আপনি যদি কোনো টাইপ সেট না করেন, তবে এই ভ্যালুগুলো একটি ভেরিয়েবলকে যেকোনো টাইপে পরিবর্তন করার অনুমতি দেয়। আপনি যদি স্পষ্টভাবে টাইপটি null বা undefined হিসেবে সেট করেন, তবে ভেরিয়েবলটি সেই টাইপেই থাকবে।
উৎস: https://dev.to/jsha/introduction-to-typescript-javascript-primitive-data-types-49ok