𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁 𝗧𝘆𝗽𝗲𝘀-এর রহস্য উন্মোচন

TypeScript একটি টাইপ সিস্টেমের ওপর নির্ভর করে। এটি আয়ত্ত করা উন্নত কোড লেখার প্রথম ধাপ।

মৌলিক টাইপসমূহ (Basic Types)

TypeScript JavaScript primitives-এর মতো টাইপ ব্যবহার করে: • string: টেক্সটের জন্য। • number: সব ধরনের সংখ্যার জন্য (পূর্ণসংখ্যা এবং দশমিক সংখ্যা)। • boolean: true বা false মানের জন্য।

Type Inference (টাইপ ইনফারেন্স)

আপনাকে সবসময় টাইপ লিখে দিতে হবে না। আপনি যে মান প্রদান করেন তার ওপর ভিত্তি করে TypeScript প্রায়ই টাইপটি অনুমান করে নেয়। একেই বলা হয় inference।

একটি ভালো নিয়ম: • লোকাল ভেরিয়েবলের ক্ষেত্রে TypeScript-কে টাইপ অনুমান করতে দিন। • ফাংশন প্যারামিটার এবং রিটার্ন টাইপের জন্য স্পষ্টভাবে টাইপ লিখে দিন।

Arrays এবং Tuples

Arrays একই ধরনের একাধিক মান ধারণ করে। • উদাহরণ: let tags: string[] = ["ts", "js"];

Tuples হলো এমন array যার দৈর্ঘ্য নির্দিষ্ট এবং প্রতিটি পজিশনের জন্য নির্দিষ্ট টাইপ থাকে। • উদাহরণ: let user: [string, number] = ["Ramesh", 31];

Union Types

যখন একটি মান একাধিক টাইপের হতে পারে, তখন union types ব্যবহার করুন। • উদাহরণ: let id: string | number = "abc123";

বিশেষ টাইপসমূহ (Special Types)

চারটি টাইপ প্রায়ই নতুনদের বিভ্রান্ত করে:

  1. any এটি টাইপ চেকিং বন্ধ করে দেয়। এটি আপনার কোডকে সাধারণ JavaScript-এর মতো কাজ করতে বাধ্য করে। এটি একদম শেষ উপায় হিসেবে ব্যবহার করুন।

  2. unknown এটি any-এর একটি নিরাপদ সংস্করণ। এটি নির্দেশ করে যে মানটি যেকোনো কিছু হতে পারে, তবে ব্যবহারের আগে আপনাকে অবশ্যই টাইপটি পরীক্ষা করে নিতে হবে।

  3. void এটি এমন ফাংশনের জন্য ব্যবহার করুন যা কোনো মান রিটার্ন করে না।

  4. never এটি এমন ফাংশনের জন্য ব্যবহার করুন যা কখনোই শেষ হয় না, যেমন যে ফাংশনগুলো এরর (error) থ্রো করে বা ইনফিনিট লুপ (infinite loop) চালায়।

আপনার কাজের জন্য সারসংক্ষেপ: • বেশিরভাগ ডেটার জন্য primitives ব্যবহার করুন। • কোড পরিষ্কার রাখতে inference ব্যবহার করুন। • নমনীয় ইনপুটের জন্য union types ব্যবহার করুন। • any এড়িয়ে চলুন। • যখন আপনি নিশ্চিত নন, তখন any-এর পরিবর্তে unknown ব্যবহার করুন।

উৎস: https://dev.to/ramesh_s_a8f0867d239e927c/typescript-types-demystified-simple-types-special-types-and-type-inference-5bf0