TypeScriptTypes utilitaires
Omit<Type, Keys>
Crée un type sans les propriétés sélectionnées d’un autre type.
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
Omitdu modèle serveur, sans les champs générés automatiquement. - Combinez
Omitavec une intersection pour remplacer le type d’un champ :Omit<User, "id"> & { id: string }.
Entrées associées
#- Pick vs OmitPick<Type, Keys> sélectionne seulement les champs donnés d’un type, et Omit<Type, Keys> copie tous les champs sauf ceux donnés.
- Pick<Type, Keys>Crée un type contenant uniquement les propriétés sélectionnées d’un autre type.
- Partial<Type>Crée un type dans lequel toutes les propriétés sont optionnelles.
- Exclude<UnionType, ExcludedMembers>Retire d’une union les types compatibles avec un type donné.
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.