Pick<Type, Keys>

Tworzy typ zawierający tylko wybrane właściwości innego typu.

Na tej stronie

Przykład

#
TypeScript
interface User {
  id: number
  name: string
  email: string
  passwordHash: string
}

type PublicUser = Pick<User, 'id' | 'name'>

function toPublic(user: User): PublicUser {
  return { id: user.id, name: user.name }
}

console.log(toPublic({ id: 7, name: 'Ania', email: 'a@x.pl', passwordHash: '…' }))
Wynik
{ id: 7, name: 'Ania' }

Definicja i zastosowanie

#

Pick<Type, Keys> wybiera z typu tylko podane pola. Pick<User, "id" | "name"> to obiekt z samymi polami id i name, o dokładnie takich typach jak w User.

Przydaje się, gdy komponent lub funkcja potrzebuje tylko fragmentu większego obiektu. Dzięki temu nie trzeba przekazywać ani tworzyć pełnego obiektu, a typ pozostaje powiązany ze źródłem.

Klucze muszą istnieć w typie źródłowym. Literówka w nazwie pola zostanie zgłoszona przez kompilator.

Składnia

#
Składnia
type Nowy = Pick<Typ, "pole1" | "pole2">

Parametry typu

#
  • Type

    typ obiektowy

    Typ źródłowy.
  • Keys

    unia kluczy Type

    Pola, które mają zostać w nowym typie.

Dobre praktyki

#
  • Gdy łatwiej wymienić pola do usunięcia niż do zostawienia, użyj Omit.
  • Typy wyprowadzone przez Pick same aktualizują się po zmianie typu źródłowego.

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.