Omit<Type, Keys>

Crée un type sans les propriétés sélectionnées d’un autre type.

Sur cette page

Exemple

#
TypeScript
interface Task {
  id: number
  title: string
  done: boolean
  createdAt: string
}

type NewTask = Omit<Task, 'id' | 'createdAt'>

let nextId = 1
function createTask(input: NewTask): Task {
  return { ...input, id: nextId++, createdAt: '2026-09-28' }
}

console.log(createTask({ title: 'Module Grid', done: false }))
Résultat
{ title: 'Module Grid', done: false, id: 1, createdAt: '2026-09-28' }

Définition et utilisation

#

Omit<Type, Keys> fonctionne à l’inverse de Pick : il copie tous les champs du type sauf ceux indiqués. Omit<User, "passwordHash"> est un utilisateur sans le hash du mot de passe.

On l’utilise très souvent lors de la création de nouveaux objets, quand le serveur fournit une partie des champs, par exemple Omit<Task, "id" | "createdAt"> pour des données venant d’un formulaire.

À la différence de Pick, les clés de Omit n’ont pas besoin d’exister dans le type, donc une faute de frappe ne sera pas signalée. Il vaut mieux rester prudent lors du renommage de champs.

Syntaxe

#
Syntaxe
type New = Omit<Type, "field1" | "field2">

Paramètres de type

#
  • Type

    type d’objet

    Le type source.
  • Keys

    union de clés

    Les champs à retirer.

Bonnes pratiques

#
  • Le type des données d’un formulaire est souvent un Omit du modèle serveur, sans les champs générés automatiquement.
  • Combinez Omit avec une intersection pour remplacer le type d’un champ : Omit<User, "id"> & { id: string }.

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.