TypeScriptTypy narzędziowe
Omit<Type, Keys>
Tworzy typ bez wybranych właściwości innego typu.
Przykład
#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: 'Moduł Grid', done: false }))Wynik
{ title: 'Moduł Grid', done: false, id: 1, createdAt: '2026-09-28' }Definicja i zastosowanie
#Omit<Type, Keys> działa odwrotnie niż Pick: kopiuje wszystkie pola typu poza podanymi. Omit<User, "passwordHash"> to użytkownik bez hasza hasła.
Bardzo często używa się go przy tworzeniu nowych obiektów, gdy część pól nadaje serwer, na przykład Omit<Task, "id" | "createdAt"> dla danych z formularza.
W odróżnieniu od Pick klucze w Omit nie muszą istnieć w typie, więc literówka nie zostanie zgłoszona. Warto zachować ostrożność przy zmianach nazw pól.
Składnia
#Składnia
type Nowy = Omit<Typ, "pole1" | "pole2">Parametry typu
#Type
typ obiektowy
Typ źródłowy.Keys
unia kluczy
Pola do usunięcia.
Dobre praktyki
#- Typ danych formularza to często
Omitmodelu z serwera bez pól generowanych automatycznie. - Połącz
Omitz przecięciem, żeby podmienić typ jednego pola:Omit<User, "id"> & { id: string }.
Powiązane hasła
#Widzisz błąd albo brakuje przykładu? Napisz do nas.