Отображаемые типы
Научитесь преобразовывать существующие типы в новые с помощью отображаемых типов для гибкой работы с динамическими структурами данных
«Отображаемые типы» — бесплатный урок TypeScript Academy на CoddyKit. Это урок 2 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения TypeScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс TypeScript Academy содержит 3 уроков всего.
Введение в отображаемые типы
Введение в отображаемые типы
Отображаемые типы позволяют преобразовывать существующие типы в новые, применяя операции к каждому свойству типа.
Они особенно полезны для создания гибких и пригодных для повторного использования структур типов в TypeScript.

Что такое отображаемые типы?
Что такое отображаемые типы?
В отображаемых типах используется такой синтаксис, как { [P in keyof T]: T[P] }, для перебора свойств типа T.
Базовый пример отображаемых типов
Базовый пример отображаемых типов
Вот простой пример использования отображаемого типа для создания версии типа, доступной только для чтения:
type User = {
name: string;
age: number;
};
type ReadonlyUser = {
readonly [P in keyof User]: User[P];
};Использование встроенных отображаемых типов
Использование встроенных отображаемых типов
TypeScript предоставляет несколько встроенных отображаемых типов, например:
Readonly<T>: делает все свойстваTдоступными только для чтения.Partial<T>: делает все свойстваTнеобязательными.Required<T>: делает все свойстваTобязательными.
type User = {
name: string;
age: number;
};
// Example of Partial
const user: Partial<User> = {
name: 'John',
};Отображение объединений
Отображение объединений
Отображаемые типы также можно использовать с типами-объединениями для создания новых объединённых типов:
type Status = 'active' | 'inactive';
type StatusFlags = {
[K in Status]: boolean;
};
const flags: StatusFlags = {
active: true,
inactive: false,
};Условные отображаемые типы
Условные отображаемые типы
Вы можете использовать условные типы вместе с отображаемыми типами для создания более сложных преобразований типов.
type User = {
name: string;
age?: number;
};
type NonOptional<T> = {
[K in keyof T]-?: T[K];
};
type RequiredUser = NonOptional<User>;Расширенный пример: исключение свойств
Расширенный пример: исключение свойств
Вот как можно создать отображаемый тип для исключения определённых свойств:
type User = {
id: number;
name: string;
password: string;
};
type PublicUser = {
[K in keyof User as Exclude<K, 'password'>]: User[K];
};Практическое задание
Практическое задание
Создайте отображаемый тип, который добавляет модификатор readonly ко всем свойствам типа Product. Проверьте его, объявив переменную нового типа.
Повторение отображаемых типов
Поздравляем!
Вы научились использовать отображаемые типы для динамического преобразования существующих типов в новые. Практикуйтесь в применении этих методов, чтобы сделать свой код на TypeScript ещё более мощным!

Часто задаваемые вопросы
Урок «Отображаемые типы» бесплатный?
Да — полный текст урока «Отображаемые типы» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс TypeScript Academy, подпишись на CoddyKit PRO. Курс TypeScript Academy содержит 3 уроков всего.
Чему я научусь в уроке «Отображаемые типы»?
Научитесь преобразовывать существующие типы в новые с помощью отображаемых типов для гибкой работы с динамическими структурами данных Ты практикуешь TypeScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать TypeScript Academy?
Предыдущий опыт не требуется. TypeScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 3.
Сколько времени занимает урок «Отображаемые типы»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке TypeScript Academy?
Да. Каждый урок TypeScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Типы keyof и поиска
- Отображаемые типы
- Пересечения и объединения типов