Что такое Pick в TypeScript?
Utility Types
`Pick<T, K>` создаёт новый тип, взяв из T только перечисленные ключи K.
interface User {
id: string;
name: string;
email: string;
password: string;
}
type PublicUser = Pick<User, 'id' | 'name'>;
// { id: string; name: string }Как устроен
type Pick<T, K extends keyof T> = { [P in K]: T[P] };Ограничение K extends keyof T не даёт указать несуществующий ключ.
Где применяют
- данные для отображения без лишних полей;
- props компонента, которые берут часть полей сущности;
- узкие типы для функций, которым не нужен весь объект.
Pick и Omit
Omit<T, K> делает обратное — убирает ключи. Pick удобнее, когда нужно мало полей, Omit — когда нужно почти всё.
Коротко для собеседования
Pick<T, K> оставляет в типе только указанные ключи; противоположность — Omit.
Подробнее: TypeScript — Utility Types