Mapped type строит новый объектный тип, перебирая множество ключей и преобразуя тип или модификаторы каждого свойства.
Что такое mapped types в TypeScript?
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. Подход позволяет выразить связанные контракты без ручного копирования всех полей.