Kutoka Sifuri hadi Shujaa katika TypeScript

TypeScript hufanya kodi yako ya JavaScript kuwa salama zaidi. Inakusaidia kupata makosa (bugs) kabla ya kuendesha kodi yako. Mwongozo huu unahusu safari kutoka dhana za msingi hadi za hali ya juu.

TypeScript huongeza static typing kwenye JavaScript. Inageuza kodi yako kuwa JavaScript ya kawaida kwa ajili ya kivinjari (browser).

Aina za Msingi

  • number: namba nzima au desimali
  • boolean: kweli (true) au si kweli (false)
  • string: maandishi
  • symbol: utambulisho wa kipekee
  • bigint: namba nzima kubwa

Maelezo ya Aina (Type Annotations) Unafafanua aina wakati wa kuunda variable: let name: string = "Alice"; let age: number = 30;

Arrays na Objects

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

Functions Unaweza kubainisha kile ambacho function inachukua na kile kinachorudishwa. Tumia void ikiwa function hairudishi kitu.

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

Miundo ya Hali ya Juu

  • Type Aliases: Fafanua jina maalum kwa aina fulani.
  • Interfaces: Fafanua muundo wa object.
  • Enums: Tengeneza seti ya konstanti zilizo na majina.
  • Tuples: Tengeneza array yenye idadi maalum ya vipengele na aina mahususi.

Mantiki Tata

  • Union Types: Inaruhusu variable kubeba zaidi ya aina moja.
  • Intersection Types: Inachanganya aina nyingi kuwa moja.
  • Generics: Tengeneza vipengele vinavyoweza kutumika tena vinavyofanya kazi na aina nyingi.
  • Utility Types: Tumia zana zilizojengewa ndani kama Partial au Pick ili kubadilisha aina.

Mbinu Bora

  • Tumia type kwa majina rahisi ya mbadala (aliases) na primitives.
  • Tumia interface kwa muundo wa object.
  • Epuka kutumia any. Inafuta usalama wa TypeScript.
  • Tumia unknown badala ya any unapokuwa na shaka kuhusu aina ya data.
  • Ruhusu kompaila itambue aina (infer types) wakati kodi ikiwa wazi.

TypeScript inakusaidia kujenga programu kubwa kwa ujasiri.

Chanzo: https://dev.to/miasalazar/from-zero-to-hero-in-typescript-425j