Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про TypeScript: mapped types, отображаемые типы, трансформация типов, typescript

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

Вопрос проверяет знание об одной из самых мощных функций TypeScript — отображаемых типах, которые позволяют создавать новые типы на основе существующих.

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

Mapped types позволяют изменять или трансформировать все свойства существующего типа. Это полезно для создания новых типов, которые немного отличаются от исходных, например, для того, чтобы сделать все свойства объекта обязательными или опциональными.

Длинный ответ

Отображаемые типы (Mapped types) позволяют вам брать существующий тип и применять к нему трансформации. Это может быть полезно для создания новых типов с измененными модификаторами (например, сделать все свойства readonly или опциональными). Они особенно эффективны в сочетании с ключевыми словами keyof и условными типами. Благодаря отображаемым типам, можно динамически изменять структуру объектов без необходимости вручную переписывать типы.

Пример:

type Readonly<T> = {
	readonly [P in keyof T]: T[P];
};
interface User {
	name: string;
	age: number;
}
const user: Readonly<User> = {
	name: 'John',
	age: 30,
};
user.name = 'Doe'; // ошибка: свойство `name` только для чтения

Здесь тип Readonly делает все свойства переданного объекта только для чтения.

Уровень

  • Рейтинг:

    4

  • Сложность:

    7

Навыки

  • TypeScript

    TypeScript

Ключевые слова

#mapped types

#отображаемые типы

#трансформация типов

#typescript

Подпишись на React Developer в телеграм