Omit<Type, Keys>

Tworzy typ bez wybranych właściwości innego typu.

Na tej stronie

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 Omit modelu z serwera bez pól generowanych automatycznie.
  • Połącz Omit z 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.