Pick y Omit
Selecciona ciertos tipos específicos.
Pick
Pick es un tipo genérico que permite crear un nuevo tipo tomando solo algunas propiedades de otro tipo o interfaz. Es útil cuando deseas crear un tipo más específico a partir de uno existente.
Por ejemplo, de la siguiente interfaz Todo:
interface Todo {
title: string;
description: string;
completed: boolean;
}Puedes crear un nuevo tipo TodoPreview que solo incluya las propiedades title y completed:
type TodoPreview = Pick<Todo, "title" | "completed">;
const todo: TodoPreview = {
title: "Clean room",
completed: false,
};Omit
Omit es el opuesto de Pick. Permite crear un nuevo tipo excluyendo algunas propiedades de otro tipo o interfaz. Es útil cuando deseas crear un tipo que no incluya ciertas propiedades.
Por ejemplo, si ahora nuestra interfaz Todo tiene tiene las siguientes propiedades:
interface Todo {
title: string;
description: string;
completed: boolean;
createdAt: number;
}Pero queremos crear un tipo que no incluya la propiedad description, podemos hacerlo así:
type TodoPreview = Omit<Todo, "description">;
const todo: TodoPreview = {
title: "Clean room",
completed: false,
createdAt: 1615544252770,
};