A TypeScript beépített segédtípusai és a hozzájuk tartozó kulcsszavak, feladat szerint csoportosítva: objektum átalakítása, unió szűrése, függvény leírása, literál sztring átalakítása és típusok kinyerése értékekből. Minden sor a típust és egy valódi aliast mutat, amit megírnál.
A segédtípusok a típusok generikus függvényei: egy vagy két típust kapnak, és egy újat adnak vissza, így nem kell minden alakzatot kézzel leírnod. Ott ragyognak, ahol származtatott típusokra van szükség: amikor az igazság forrása egy másik típus vagy egy érték, és azt szeretnéd, hogy a típusaid automatikusan kövessék. A szabály: származtass, ne másolj — ha megváltoztatod a forrást, a származtatott típus követi.
Referenciatáblázat · 22 bejegyzés
TypeScript segédtípusokExplained
22 of 22 rows
Objektumalak
T minden tulajdonsága opcionálissá téve.
type Update = Partial<User>
T minden tulajdonsága kötelezőre téve.
type Strict = Required<Opts>
T minden tulajdonsága readonly-ra téve.
type Frozen = Readonly<User>
T, amelyből csak a K-ban szereplő kulcsok maradnak meg.
type Preview = Pick<User, "id" | "name">
T, amelyből a K-ban szereplő kulcsok el lettek távolítva.
type SafeUser = Omit<User, "password">
Objektum, amelynek kulcsai K és értékei V.
type Scores = Record<string, number>
Unió szűrése
Az U unió, amelyből az X-hez hozzárendelhető tagok el lettek távolítva.
type NoNull = Exclude<T, null>
Az U azon tagjai, amelyek hozzárendelhetők X-hez.
type OnlyStr = Extract<T, string>
T, amelyből a null és az undefined el lett távolítva.
type Def = NonNullable<T>
Függvénytípusok
Az F függvény paramétertípusainak tuplje.
type P = Parameters<typeof fn>
A típus, amelyet az F függvény visszaad.
type R = ReturnType<typeof fn>
Az F konstruktor paramétertípusainak tuplje.
type C = ConstructorParameters<typeof Date>
A példánytípus, amelyet az F konstruktor előállít.
type D = InstanceType<typeof Date>
A típus, amelyre egy Promise rekurzívan feloldódik.
type Data = Awaited<Promise<User>>
Literál sztring átalakítások
Az S sztring literál nagybetűsen.
type A = Uppercase<"abc"> // "ABC"
Az S sztring literál kisbetűsen.
type B = Lowercase<"ABC"> // "abc"
S az első karakterrel nagybetűsen.
type C = Capitalize<"abc"> // "Abc"
S az első karakterrel kisbetűsen.
type D = Uncapitalize<"Abc"> // "aBc"
Kapcsolódó kulcsszavak
A T objektumtípus tulajdonságkulcsainak uniója.
type K = keyof User
Egy érték típusa, anélkül hogy újra leírnád.
type Config = typeof defaults
Egy típus befogása egy feltételesben újrahasznosítás céljából.
type El<T> = T extends Array<infer I> ? I : never
X vagy Y típus választása aszerint, hogy T hozzárendelhető-e U-hoz.