Los tipos utilitarios integrados de TypeScript y las palabras clave que los acompañan, agrupados por tarea: reformar un objeto, filtrar una unión, describir una función, transformar un string literal y capturar tipos a partir de valores. Cada fila muestra el tipo y un alias real que escribirías.
Los tipos utilitarios son funciones genéricas para tipos: reciben uno o dos tipos y devuelven uno nuevo, así que no tienes que escribir cada forma a mano. Brillan en los tipos derivados, donde la fuente de verdad es otro tipo o un valor y quieres que tus tipos lo sigan automáticamente. La regla práctica es derivar en lugar de duplicar: si cambias la fuente, el tipo derivado lo sigue.
Tabla de referencia · 22 entradas
Tipos utilitarios de TypeScriptExplained
22 of 22 rows
Forma del objeto
T con cada propiedad hecha opcional.
type Update = Partial<User>
T con cada propiedad hecha obligatoria.
type Strict = Required<Opts>
T con cada propiedad hecha de solo lectura.
type Frozen = Readonly<User>
T conservando solo las claves de K.
type Preview = Pick<User, "id" | "name">
T con las claves de K eliminadas.
type SafeUser = Omit<User, "password">
Un objeto cuyas claves son K y cuyos valores son V.
type Scores = Record<string, number>
Filtrado de uniones
La unión U con los miembros asignables a X eliminados.
type NoNull = Exclude<T, null>
Los miembros de U que son asignables a X.
type OnlyStr = Extract<T, string>
T con null y undefined eliminados.
type Def = NonNullable<T>
Tipos de funciones
Una tupla con los tipos de los parámetros de la función F.
type P = Parameters<typeof fn>
El tipo que devuelve la función F.
type R = ReturnType<typeof fn>
Una tupla con los tipos de los parámetros del constructor F.
type C = ConstructorParameters<typeof Date>
El tipo de instancia que produce el constructor F.
type D = InstanceType<typeof Date>
El tipo al que se resuelve una Promise, de forma recursiva.
type Data = Awaited<Promise<User>>
Transformaciones de strings literales
El literal de cadena S en mayúsculas.
type A = Uppercase<"abc"> // "ABC"
El literal de cadena S en minúsculas.
type B = Lowercase<"ABC"> // "abc"
S con el primer carácter en mayúsculas.
type C = Capitalize<"abc"> // "Abc"
S con el primer carácter en minúsculas.
type D = Uncapitalize<"Abc"> // "aBc"
Palabras clave relacionadas
Una unión de las claves de propiedades del tipo objeto T.
type K = keyof User
El tipo de un valor, sin escribirlo de nuevo.
type Config = typeof defaults
Captura un tipo dentro de un condicional para reutilizarlo.