Record: сопоставление ключей с типами значений
Создавайте типы, похожие на словари, с помощью Record
«Record: сопоставление ключей с типами значений» — бесплатный урок TypeScript Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения TypeScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс TypeScript Academy содержит 4 уроков всего.
Добро пожаловать
Базовый синтаксис Record
type Roles = Record<'admin' | 'user' | 'guest', boolean>;
const access: Roles = { admin: true, user: true, guest: false };Record со строковыми ключами
const headers: Record<string, string> = {
'content-type': 'application/json',
'authorization': 'Bearer token'
};Record для таблиц поиска
const statusLabels: Record<number, string> = {
200: 'OK',
404: 'Not Found',
500: 'Server Error'
};Как реализован Record
type Record<K extends string | number | symbol, V> = { [P in K]: V };Record и сигнатура индекса
// Equivalent:
type A = Record<string, number>;
type B = { [key: string]: number };Record с объединением значений
type Config = Record<'development' | 'staging' | 'production', { url: string; debug: boolean }>;Частичный Record
type OptionalConfig = Partial<Record<'debug' | 'verbose' | 'trace', boolean>>;Только для чтения Record
const CODES: Readonly<Record<string, number>> = { A: 1, B: 2 };Record для группировки
function groupBy<T>(items: T[], key: keyof T): Record<string, T[]> {
return items.reduce((acc, item) => {
const k = String(item[key]);
(acc[k] ??= []).push(item);
return acc;
}, {} as Record<string, T[]>);
}Record с ключами перечисления
enum Color { Red = 'RED', Green = 'GREEN', Blue = 'BLUE' }
const hexCodes: Record<Color, string> = {
[Color.Red]: '#FF0000',
[Color.Green]: '#00FF00',
[Color.Blue]: '#0000FF',
};Быстрая проверка
Итоги
Часто задаваемые вопросы
Урок «Record: сопоставление ключей с типами значений» бесплатный?
Да — полный текст урока «Record: сопоставление ключей с типами значений» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс TypeScript Academy, подпишись на CoddyKit PRO. Курс TypeScript Academy содержит 4 уроков всего.
Чему я научусь в уроке «Record: сопоставление ключей с типами значений»?
Создавайте типы, похожие на словари, с помощью Record Ты практикуешь TypeScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать TypeScript Academy?
Предыдущий опыт не требуется. TypeScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Record: сопоставление ключей с типами значений»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке TypeScript Academy?
Да. Каждый урок TypeScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Partial и Required: переключение обязательности
- Pick и Omit: выбор свойств
- Record: сопоставление ключей с типами значений
- Readonly, Exclude, Extract и NonNullable