Ugrás a tartalomra
Egyszeri díj9 ó 30 p · 54 lecke

TypeScript in Depth

Az útvonal

  1. A következtetés a lényeg

    Hagyd a fordítót dolgozni, és hogy mire is jó valójában egy annotáció.

    Itt szállsz fel
    95 perc
  2. Szűkítés és a discriminated union

    Állapotok modellezése úgy, hogy a lehetetlenek le se fordulnak.

    95 perc
  3. Generikusok, amiket jó olvasni

    Típusparaméterek és megszorítások, és hogy mikor túlzás egy generikus.

    95 perc
  4. A típusszintű eszköztár

    Feltételes és mapped típusok, keyof és template literálok — szándékosan visszafogottan.

    95 perc
  5. Típusok a határon

    Amit egy API-ból kapsz, azt validáld — és hol jobb az `unknown` az `any`-nél.

    95 perc
  6. Egy valódi kódbázis beállítása

    A strict flagek, a modulfeloldás, és együttélés a külső típusokkal.

    95 perc

Bepillantás a tanításba

2. megálló · Szűkítés és a discriminated unionMintarészlet

Tedd le nem fordulóvá a lehetetlen állapotot.

// Flags let you express nonsense — loading AND an error AND data:
type Bad = { loading: boolean; error?: string; data?: Course };

// A discriminated union cannot:
type State =
  | { status: "loading" }
  | { status: "error"; message: string }
  | { status: "ready"; data: Course };

function render(s: State) {
  if (s.status === "error") return s.message;    // narrowed
  if (s.status === "ready") return s.data.title; // narrowed
  return "Loading…";
}

A fordító innentől visszautasítja azokat az állapotokat, amiket különben neked kellene fejben tartanod, hogy ne állítsd elő. Ez többet ér bármelyik ügyes generikusnál, amit valaha írni fogsz.

Ki vezet

PH
Péter Halász
Staff engineer

Péter úgy magyaráz, ahogy egy jó kolléga a tábla előtt — nincs öncélú szakzsargon, és nincs semmi elrejtve az „ahogy látható” mögé.

Helykitöltő profil