Отображаемые типы: преобразование типов объектов
Перебирайте ключи, чтобы создавать новые структуры типов
«Отображаемые типы: преобразование типов объектов» — бесплатный урок TypeScript Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения TypeScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс TypeScript Academy содержит 4 уроков всего.
Добро пожаловать
Базовый синтаксис отображаемых типов
type Copy<T> = { [K in keyof T]: T[K] };
type UserCopy = Copy<User>; // same as UserСделать все свойства необязательными
type Partial<T> = { [K in keyof T]?: T[K] };
type PartialUser = Partial<User>;Сделать все свойства доступными только для чтения
type Readonly<T> = { readonly [K in keyof T]: T[K] };
type FrozenUser = Readonly<User>;Преобразование типов значений
type Stringify<T> = { [K in keyof T]: string };
type StringUser = Stringify<User>; // all values are stringФильтрация свойств с помощью never
type OnlyStrings<T> = {
[K in keyof T as T[K] extends string ? K : never]: T[K]
};Record<K, V>
type Record<K extends string | number | symbol, V> = { [P in K]: V };
const roles: Record<'admin' | 'user', boolean> = { admin: true, user: false };Отображаемые типы сохраняют необязательность
interface User { id: number; name?: string; }
type Copy<T> = { [K in keyof T]: T[K] };
type C = Copy<User>; // id: number; name?: string (preserved)Переназначение ключей с помощью as
type Getters<T> = {
[K in keyof T as `get${Capitalize<string & K>}`]: () => T[K]
};Перебор объединения
type Flags = { [K in 'option1' | 'option2' | 'option3']: boolean };Объединение отображаемых и условных типов
type NullableValues<T> = { [K in keyof T]: T[K] | null };Быстрая проверка
Итоги
Часто задаваемые вопросы
Урок «Отображаемые типы: преобразование типов объектов» бесплатный?
Да — полный текст урока «Отображаемые типы: преобразование типов объектов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс TypeScript Academy, подпишись на CoddyKit PRO. Курс TypeScript Academy содержит 4 уроков всего.
Чему я научусь в уроке «Отображаемые типы: преобразование типов объектов»?
Перебирайте ключи, чтобы создавать новые структуры типов Ты практикуешь TypeScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать TypeScript Academy?
Предыдущий опыт не требуется. TypeScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Отображаемые типы: преобразование типов объектов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке TypeScript Academy?
Да. Каждый урок TypeScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Отображаемые типы: преобразование типов объектов
- Модификаторы в отображаемых типах: readonly и ?
- Типы шаблонных литералов: шаблоны строк
- Переименование ключей с помощью as в отображаемых типах