> Что такое Record в TypeScript и как его использовать? (TypeScript)

Уровень: junior · Роль: frontend · Категория: Технические вопросы

Компании: TYMY

Стек: TypeScript

> Пример ответа

Record - это встроенный утилитарный тип в TypeScript, который позволяет создать объектный тип с заданными ключами и единым типом значений. Он особенно полезен, когда нужно описать словарь (map) или маппинг одних значений на другие.

Синтаксис: Record<K, T>, где K - тип ключей (обычно string, number или объединение литералов), а T - тип значений.

Пример использования:

TYPESCRIPT
type UserRoles = 'admin' | 'user' | 'guest';
type UserPermissions = Record<UserRoles, string[]>;
const permissions: UserPermissions = {
admin: ['read', 'write', 'delete'],
user: ['read', 'write'],
guest: ['read'],
};

Здесь Record гарантирует, что объект содержит все ключи из объединения UserRoles, и каждому ключу соответствует массив строк.

Record часто применяется для:

  • Создания конфигураций с фиксированным набором ключей.

  • Типизации ответов от API, где ключи динамические, но значения однотипны.

  • Упрощения работы с enum или константами.

Важно: если ключи могут отсутствовать, лучше использовать Partial<Record<K, T>> или Record<K, T | undefined>.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью