Как работает TypeScript Pick Type

Как работает TypeScript Pick Type

3 мая 2022 г.

Тип TypeScript Pick — это служебный тип, который используется для создания нового пользовательского типа на основе уже существующего. Это противоположность Типу Опущения. Давайте посмотрим, как это работает.


Пользовательские типы


В этом руководстве мы используем пользовательские типы. Если вы не знакомы с пользовательскими типами, [ознакомьтесь с моим руководством по пользовательским типам здесь] (https://fjolt.com/article/typescript-creating-custom-types).


Тип утилиты выбора TypeScript


TypeScript имеет ряд служебных типов, которые по сути являются пользовательскими типами, решающими конкретную проблему. Проблема, которую решает Pick, заключается в том, что у нас есть уже существующий тип и мы хотим создать новый тип, используя только пару полей этого типа. Например, предположим, что у нас есть тип User, который выглядит так:


```javascript


введите Пользователь = {


имя: строка,


фамилия: строка,


возраст: число


В другой части кода мы хотим сослаться на пользователя, но знаем, что данные содержат только имя и фамилию. Таким образом, мы не можем использовать тип «Пользователь», так как все поля являются обязательными. Если мы хотим создать новый тип на основе User, мы можем использовать Pick.


Pick имеет два аргумента, первый – Type, который мы хотим использовать, а второй – тип объединения или список полей, которые мы хотим выбрать из используемого нами типа. Пишем это так: Тип<Пользователь, "поля" | "к" | "включить">. Например, давайте создадим новый тип, который имеет только firstName и lastName:


```javascript


введите Пользователь = {


имя: строка,


фамилия: строка,


возраст: число


typeUserName = Pick


Теперь, используя наш новый тип UserName, мы можем определить переменную, состоящую только из firstName и lastName:


```javascript


пусть пользователь: имя_пользователя = {


имя: "Джон",


Фамилия: "Доу"


Если бы мы хотели создать новый тип, который содержал бы только возраст пользователя, мы могли бы также использовать Pick. Вот пример:


```javascript


введите Пользователь = {


имя: строка,


фамилия: строка,


возраст: число


введите UserAge = Pick<Пользователь, "возраст">


пусть возраст: UserAge = {


возраст: 1534


Как видите, тип Pick очень удобен для создания пользовательских типов на основе уже существующих. Теперь, когда вы освоили его, вы можете упростить объявления типов.



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE