TypeScript میں زیرو سے ہیرو تک

TypeScript آپ کے JavaScript کوڈ کو زیادہ محفوظ بناتا ہے۔ یہ آپ کو کوڈ چلانے سے پہلے غلطیاں (bugs) تلاش کرنے میں مدد دیتا ہے۔ یہ گائیڈ بنیادی سے لے کر ایڈوانسڈ تصورات تک کے سفر کا احاطہ کرتی ہے۔

TypeScript، JavaScript میں static typing کا اضافہ کرتا ہے۔ یہ آپ کے کوڈ کو براؤزر کے لیے سادہ JavaScript میں تبدیل کر دیتا ہے۔

بنیادی اقسام (Basic Types)

  • number: صحیح اعداد یا اعشاریہ (integers or decimals)
  • boolean: صحیح یا غلط (true or false)
  • string: متن (text)
  • symbol: منفرد شناختی علامات (unique identifiers)
  • bigint: بڑے صحیح اعداد (large integers)

ٹائپ اینوٹیشنز (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) آپ یہ متعین کر سکتے ہیں کہ ایک فنکشن کیا لیتا ہے اور کیا واپس (return) کرتا ہے۔ اگر فنکشن کچھ بھی واپس نہ کرے تو void کا استعمال کریں۔

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

ایڈوانسڈ اسٹرکچرز (Advanced Structures)

  • Type Aliases: کسی ٹائپ کے لیے ایک کسٹم نام متعین کریں۔
  • Interfaces: کسی آبجیکٹ کی ساخت (shape) متعین کریں۔
  • Enums: نامزد مستقل (constants) کا ایک سیٹ بنائیں۔
  • Tuples: مخصوص تعداد کے عناصر اور مخصوص ٹائپس کے ساتھ ایک ایرے بنائیں۔

پیچیدہ لاجک (Complex Logic)

  • Union Types: ایک ویری ایبل کو ایک سے زیادہ ٹائپس رکھنے کی اجازت دیتا ہے۔
  • Intersection Types: متعدد ٹائپس کو ایک میں ضم کر دیتا ہے۔
  • Generics: ایسے دوبارہ استعمال ہونے والے اجزاء (reusable components) بنائیں جو بہت سی ٹائپس کے ساتھ کام کر سکیں۔
  • Utility Types: ٹائپس کو تبدیل کرنے کے لیے Partial یا Pick جیسے بلٹ ان ٹولز کا استعمال کریں۔

بہترین طریقے (Best Practices)

  • سادہ ایلیگز (aliases) اور پرائمٹیوز (primitives) کے لیے type کا استعمال کریں۔
  • آبجیکٹ کی ساخت کے لیے interface کا استعمال کریں۔
  • any کے استعمال سے گریز کریں۔ یہ TypeScript کی حفاظت (safety) کو ختم کر دیتا ہے۔
  • جب آپ ٹائپ کے بارے میں غیر یقینی ہوں تو any کے بجائے unknown کا استعمال کریں۔
  • جب کوڈ واضح ہو تو کمپائلر کو ٹائپس کا اندازہ (infer) لگانے دیں۔

TypeScript آپ کو اعتماد کے ساتھ بڑی ایپلی کیشنز بنانے میں مدد دیتا ہے۔

ماخذ: https://dev.to/miasalazar/from-zero-to-hero-in-typescript-425j