Vestavěné užitkové typy TypeScriptu a klíčová slova, která je doprovázejí, seskupená podle úlohy: přeformovat objekt, vyfiltrovat union, popsat funkci, transformovat stringový literál a odvodit typy z hodnot. Každý řádek ukazuje typ a reálný alias, který byste napsali.
Užitkové typy jsou generické funkce pro typy: vezmou jeden nebo dva typy a vrátí nový, takže nemusíte každý tvar vypisovat ručně. Vynikají u odvozených typů, kde je zdrojem pravdy jiný typ nebo hodnota a chcete, aby vaše typy ji sledovaly automaticky. Pravidlo zní: odvozujte, neduplikujte — když změníte zdroj, odvozený typ následuje.
Referenční tabulka · 22 položek
Užitkové typy v TypeScriptuExplained
22 of 22 rows
Tvar objektu
T se všemi vlastnostmi jako volitelnými.
type Update = Partial<User>
T se všemi vlastnostmi jako povinnými.
type Strict = Required<Opts>
T se všemi vlastnostmi jen pro čtení.
type Frozen = Readonly<User>
T s ponechanými jen klíči z K.
type Preview = Pick<User, "id" | "name">
T s odebranými klíči z K.
type SafeUser = Omit<User, "password">
Objekt, jehož klíče jsou K a jehož hodnoty jsou V.
type Scores = Record<string, number>
Filtrování unionů
Union U s odebranými členy přiřaditelnými k X.
type NoNull = Exclude<T, null>
Členové U, kteří jsou přiřaditelní k X.
type OnlyStr = Extract<T, string>
T s odebranými null a undefined.
type Def = NonNullable<T>
Typy funkcí
Touple typů parametrů funkce F.
type P = Parameters<typeof fn>
Typ, který funkce F vrací.
type R = ReturnType<typeof fn>
Touple typů parametrů konstruktoru F.
type C = ConstructorParameters<typeof Date>
Typ instance, který konstruktor F vytvoří.
type D = InstanceType<typeof Date>
Typ, na který se Promise rekurzivně rozbalí.
type Data = Awaited<Promise<User>>
Transformace stringových literálů
Stringový literál S velkými písmeny.
type A = Uppercase<"abc"> // "ABC"
Stringový literál S malými písmeny.
type B = Lowercase<"ABC"> // "abc"
S s prvním znakem velkým písmenem.
type C = Capitalize<"abc"> // "Abc"
S s prvním znakem malým písmenem.
type D = Uncapitalize<"Abc"> // "aBc"
Související klíčová slova
Union klíčů vlastností objektového typu T.
type K = keyof User
Typ hodnoty, aniž byste jej psali znovu.
type Config = typeof defaults
Zachytí typ uvnitř podmíněného typu pro opětovné použití.
type El<T> = T extends Array<infer I> ? I : never
Zvolí typ X nebo Y podle toho, zda je T přiřaditelné k U.