TypeScript-এ জিরো থেকে হিরো

TypeScript আপনার JavaScript কোডকে আরও নিরাপদ করে তোলে। এটি কোড চালানোর আগেই বাগ (bugs) খুঁজে পেতে সাহায্য করে। এই গাইডটি প্রাথমিক থেকে উন্নত ধারণাগুলোর (concepts) পথ নির্দেশ করে।

TypeScript, JavaScript-এ স্ট্যাটিক টাইপিং (static typing) যোগ করে। এটি আপনার কোডকে ব্রাউজারের জন্য সাধারণ JavaScript-এ রূপান্তরিত করে।

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

  • number: পূর্ণসংখ্যা বা দশমিক সংখ্যা
  • boolean: true অথবা false
  • string: টেক্সট
  • symbol: অনন্য আইডেন্টিফায়ার (unique identifiers)
  • bigint: বড় পূর্ণসংখ্যা

টাইপ অ্যানোটেশন (Type Annotations) ভেরিয়েবল তৈরির সময় আপনি টাইপ নির্ধারণ করতে পারেন: let name: string = "Alice"; let age: number = 30;

অ্যারে এবং অবজেক্ট (Arrays and Objects)

  • Arrays: let fruits: string[] = ["apple", "banana"];
  • Objects: let user: { name: string; age: number } = { name: "Bob", age: 25 };

ফাংশন (Functions) আপনি একটি ফাংশন কী ইনপুট নেবে এবং কী রিটার্ন করবে তা নির্দিষ্ট করতে পারেন। ফাংশন যদি কিছু রিটার্ন না করে তবে void ব্যবহার করুন।

function greet(name: string): string {
  return "Hello, " + name;
}

উন্নত কাঠামো (Advanced Structures)

  • Type Aliases: একটি টাইপের জন্য কাস্টম নাম নির্ধারণ করা।
  • Interfaces: একটি অবজেক্টের গঠন (shape) নির্ধারণ করা।
  • Enums: কতগুলো নামেরযুক্ত ধ্রুবকের (named constants) সেট তৈরি করা।
  • Tuples: নির্দিষ্ট সংখ্যক উপাদান এবং নির্দিষ্ট টাইপ বিশিষ্ট একটি অ্যারে তৈরি করা।

জটিল লজিক (Complex Logic)

  • Union Types: একটি ভেরিয়েবলকে একাধিক টাইপ ধারণ করতে দেয়।
  • Intersection Types: একাধিক টাইপকে একত্রিত করে একটি টাইপে পরিণত করে।
  • Generics: পুনরায় ব্যবহারযোগ্য কম্পোনেন্ট তৈরি করা যা অনেক ধরনের টাইপের সাথে কাজ করতে পারে।
  • Utility Types: টাইপ পরিবর্তন করতে Partial বা Pick-এর মতো বিল্ট-ইন টুল ব্যবহার করা।

সেরা অনুশীলনসমূহ (Best Practices)

  • সাধারণ অ্যালিয়াস এবং প্রিমিটিভের (primitives) জন্য type ব্যবহার করুন।
  • অবজেক্টের গঠনের জন্য interface ব্যবহার করুন।
  • any ব্যবহার করা এড়িয়ে চলুন। এটি TypeScript-এর নিরাপত্তা কমিয়ে দেয়।
  • যখন আপনি টাইপ সম্পর্কে নিশ্চিত নন, তখন any-এর পরিবর্তে unknown ব্যবহার করুন।
  • কোড স্পষ্ট হলে কম্পাইলারকে টাইপ ইনফার (infer) করতে দিন।

TypeScript আপনাকে আত্মবিশ্বাসের সাথে বড় অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে।

উৎস: https://dev.to/miasalazar/from-zero-to-hero-in-typescript-425j