TypeScript · Intermediário · Inglês · Técnico
Omit
Utility type que constrói um tipo com todas as propriedades do original, menos as chaves listadas. Útil para remover campos sensíveis ou gerados, como senha ou id.
Onde usar
Comum em tipos de criação: Omit<Usuario, 'id'> descreve o payload antes de o banco gerar o id. Em code review costuma surgir o aviso de que ele não distribui sobre uniões.
Em código
interface Usuario {
id: number;
nome: string;
}
type Novo = Omit<Usuario, 'id'>;
const n: Novo = { nome: 'Ana' };
// Omit<Usuario, 'idd'> também compila!Exemplos
Omit the id, the database generates it.
Omita o id, o banco é que gera.
Omit won't catch a typo in the key name.
Omit não pega um erro de digitação no nome da chave.
Cuidado
Omit<A | B, 'x'> não distribui sobre a união e fica só com as propriedades comuns, e como aceita qualquer chave, um erro de digitação passa sem aviso.
Antônimos
Pick