I tipi di utilità integrati di TypeScript e le parole chiave che li accompagnano, raggruppati per funzione: rimodellare un oggetto, filtrare una union, descrivere una funzione, trasformare una stringa letterale e catturare tipi dai valori. Ogni riga mostra il tipo e un alias reale che scriveresti.
I tipi di utilità sono funzioni generiche per i tipi: prendono uno o due tipi e ne restituiscono uno nuovo, così non devi scrivere a mano ogni forma. Brillano per i tipi derivati, quando la fonte di verità è un altro tipo o un valore e vuoi che i tuoi tipi lo seguano automaticamente. La regola pratica è derivare anziché duplicare: se cambi la fonte, il tipo derivato segue.
Tabella di riferimento · 22 voci
Tipi di utilità di TypeScriptExplained
22 of 22 rows
Forma degli oggetti
T con ogni proprietà resa opzionale.
type Update = Partial<User>
T con ogni proprietà resa obbligatoria.
type Strict = Required<Opts>
T con ogni proprietà resa readonly.
type Frozen = Readonly<User>
T con sole le chiavi in K mantenute.
type Preview = Pick<User, "id" | "name">
T con le chiavi in K rimosse.
type SafeUser = Omit<User, "password">
Un oggetto le cui chiavi sono K e i cui valori sono V.
type Scores = Record<string, number>
Filtraggio delle union
L'union U con i membri assegnabili a X rimossi.
type NoNull = Exclude<T, null>
I membri di U assegnabili a X.
type OnlyStr = Extract<T, string>
T con null e undefined rimossi.
type Def = NonNullable<T>
Tipi di funzione
Una tupla dei tipi di parametro della funzione F.
type P = Parameters<typeof fn>
Il tipo restituito dalla funzione F.
type R = ReturnType<typeof fn>
Una tupla dei tipi di parametro del costruttore F.
type C = ConstructorParameters<typeof Date>
Il tipo di istanza prodotto dal costruttore F.
type D = InstanceType<typeof Date>
Il tipo a cui una Promise si risolve, in modo ricorsivo.
type Data = Awaited<Promise<User>>
Trasformazioni di stringhe letterali
La stringa letterale S in maiuscolo.
type A = Uppercase<"abc"> // "ABC"
La stringa letterale S in minuscolo.
type B = Lowercase<"ABC"> // "abc"
S con il primo carattere in maiuscolo.
type C = Capitalize<"abc"> // "Abc"
S con il primo carattere in minuscolo.
type D = Uncapitalize<"Abc"> // "aBc"
Parole chiave correlate
Un'unione delle chiavi delle proprietà del tipo oggetto T.
type K = keyof User
Il tipo di un valore, senza riscriverlo.
type Config = typeof defaults
Cattura un tipo dentro un conditional per riusarlo.
type El<T> = T extends Array<infer I> ? I : never
Sceglie il tipo X o Y in base al fatto che T sia assegnabile a U.