Tipurile utilitare încorporate din TypeScript și cuvintele-cheie care le însoțesc, grupate după rol: remodelarea unui obiect, filtrarea unei uniuni, descrierea unei funcții, transformarea unui literal de șir și extragerea tipurilor din valori. Fiecare rând arată tipul și un alias real pe care l-ai scrie.
Tipurile utilitare sunt funcții generice pentru tipuri: iau unul sau două tipuri și returnează unul nou, așa că nu trebuie să scrii manual fiecare formă. Ele strălucesc la tipurile derivate, unde sursa de adevăr este un alt tip sau o valoare și vrei ca tipurile tale să o urmărească automat. Regula de bază este să derivezi în loc să duplici: dacă schimbi sursa, tipul derivat o urmează.
Tabel de referință · 22 intrări
Tipuri utilitare TypeScriptExplained
22 of 22 rows
Forma obiectului
T cu fiecare proprietate făcută opțională.
type Update = Partial<User>
T cu fiecare proprietate făcută obligatorie.
type Strict = Required<Opts>
T cu fiecare proprietate făcută doar-citire.
type Frozen = Readonly<User>
T păstrând doar cheile din K.
type Preview = Pick<User, "id" | "name">
T cu cheile din K eliminate.
type SafeUser = Omit<User, "password">
Un obiect ale cărui chei sunt K și ale cărui valori sunt V.
type Scores = Record<string, number>
Filtrarea uniunilor
Uniunea U fără membrii atribuibili lui X.
type NoNull = Exclude<T, null>
Membrii lui U care sunt atribuibili lui X.
type OnlyStr = Extract<T, string>
T fără null și undefined.
type Def = NonNullable<T>
Tipuri de funcții
Un tuplu cu tipurile parametrilor funcției F.
type P = Parameters<typeof fn>
Tipul pe care îl returnează funcția F.
type R = ReturnType<typeof fn>
Un tuplu cu tipurile parametrilor constructorului F.
type C = ConstructorParameters<typeof Date>
Tipul instanței produs de constructorul F.
type D = InstanceType<typeof Date>
Tipul la care se rezolvă un Promise, recursiv.
type Data = Awaited<Promise<User>>
Transformări de literali de șir
Literalul de șir S cu majuscule.
type A = Uppercase<"abc"> // "ABC"
Literalul de șir S cu minuscule.
type B = Lowercase<"ABC"> // "abc"
S cu primul caracter transformat în majusculă.
type C = Capitalize<"abc"> // "Abc"
S cu primul caracter transformat în minusculă.
type D = Uncapitalize<"Abc"> // "aBc"
Cuvinte-cheie asociate
O uniune a cheilor proprietăților tipului de obiect T.
type K = keyof User
Tipul unei valori, fără a-l scrie din nou.
type Config = typeof defaults
Capturează un tip în interiorul unui tip condițional pentru reutilizare.
type El<T> = T extends Array<infer I> ? I : never
Alege tipul X sau Y în funcție de dacă T este atribuibil lui U.