TypeScript incluye una serie de utility types — tipos que transforman otros tipos. Son como funciones, pero para tipos: les pasas un tipo y te devuelven una versión modificada.
Convierte todas las propiedades en opcionales:
Caso de uso perfecto: actualizaciones parciales. Cuando solo quieres cambiar algunos campos:
Lo opuesto a Partial — convierte todas las propiedades en obligatorias:
Convierte todas las propiedades en readonly:
Útil para objetos que no deberían modificarse después de crearse.
Crea un tipo con solo las propiedades que elijas:
Útil para crear vistas parciales o DTOs:
Lo opuesto a Pick — crea un tipo sin las propiedades que excluyas:
Caso de uso clásico: crear una entidad sin el ID (porque el servidor lo genera):
Puedes combinarlos para crear tipos precisos:
Cada tipo describe una operación diferente sobre la misma entidad base.
Tienes un type Usuario con id, nombre, email y rol. Crea:
Omit)Partial)Pick)Los utility types son el superpoder de TypeScript. Derivan tipos nuevos a partir de los existentes sin repetir una sola línea de definición.