Что такое mapped types в TypeScript?

Mapped type строит новый объектный тип, перебирая множество ключей и преобразуя тип или модификаторы каждого свойства.

Короткий ответ

Что ответить на собеседовании

Mapped type строит новый объектный тип, перебирая множество ключей и преобразуя тип или модификаторы каждого свойства.

Подробный разбор

Ответ с пояснениями

Mapped type строит новый объектный тип, перебирая множество ключей и преобразуя тип или модификаторы каждого свойства.

type Flags<T> = { [K in keyof T]: boolean };
type ReadonlyFields<T> = { readonly [K in keyof T]: T[K] };
type OptionalFields<T> = { [K in keyof T]?: T[K] };

Это операция системы типов, не цикл над объектом во время выполнения. Можно добавлять и снимать readonly/необязательность, а также переназывать ключи через as. Подход позволяет выразить связанные контракты без ручного копирования всех полей.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее