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

Что такое keyof?
Что такое keyof?
Оператор keyof создаёт тип, состоящий из всех ключей типа объекта.
Пример:
type Person = {
name: string;
age: number;
};
type PersonKeys = keyof Person;Что такое типы доступа?
Что такое типы доступа?
Типы доступа используют квадратные скобки [], чтобы получить тип определённого свойства объекта.
Пример:
type Person = {
name: string;
age: number;
};
type NameType = Person['name'];Объединение keyof и типов доступа
Объединение keyof и типов доступа
Вы можете использовать keyof и типы доступа вместе, чтобы создавать динамические и пригодные для повторного использования ограничения типов.
function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
return obj[key];
}Сценарии использования keyof и типов доступа
Сценарии использования keyof и типов доступа
Распространённые случаи использования:
- Создание динамических API.
- Безопасный с точки зрения типов доступ к свойствам объектов.
- Повышение гибкости кода с помощью ограничений типов.
Практический пример
Практический пример
Вот практический пример, в котором мы объединяем keyof и типы доступа:
type User = {
id: number;
username: string;
};
function printKey<T, K extends keyof T>(obj: T, key: K): void {
console.log(`${key}: ${obj[key]}`);
}
const user: User = { id: 1, username: 'John' };
printKey(user, 'username');Преимущества использования keyof и типов доступа
Преимущества использования keyof и типов доступа
Эти возможности обеспечивают:
- Динамический доступ к свойствам с проверкой типов.
- Пригодный для повторного использования и масштабируемый код.
- Более эффективное предотвращение ошибок на этапе компиляции.
Практическое задание
Практическое задание
Создайте функцию с использованием keyof и типов доступа, чтобы динамически обращаться к свойствам объекта пользователя. Попробуйте!
Повторение: keyof и типы доступа
Поздравляем!
Вы узнали, как использовать keyof и типы доступа, чтобы сделать код динамичным и безопасным с точки зрения типов. Продолжайте практиковаться, чтобы освоить эти расширенные возможности TypeScript!

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