Что такое отображаемые типы (Mapped Types) и как применять модификаторы?
СобеседованиеПродвинутые типы
- Построение типа на основе другого:
{ [K in keyof T]: T[K] }
- Модификаторы:
+readonly/-readonly, +?/-? для управления мутабельностью/обязательностью полей
- Ремап ключей (TS 4.1+):
{ [K in keyof T as NewKey<K>]: T[K] }
- Фильтрация через
never: { [K in keyof T as T[K] extends string ? K : never]: T[K] }
- Рекурсивные mapped types для вложенных структур
- На основе mapped types построены утилитарные типы:
Partial, Required, Readonly, Pick