0Pricing
TypeScript Academy · Урок

Типы keyof и поиска

Узнайте, как извлекать и использовать ключи и свойства существующих типов, создавая динамические и повторно используемые определения типов

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

Введение в keyof и типы доступа

Введение в keyof и типы доступа

Оператор keyof и типы доступа в TypeScript позволяют динамически работать с ключами и свойствами существующих типов.

Они делают код более гибким и пригодным для повторного использования, позволяя ссылаться на типы объектов и извлекать их.

Типы keyof и поиска — иллюстрация 1

Что такое 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 и поиска — иллюстрация 10

Часто задаваемые вопросы

Урок «Типы 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 — локальная установка не требуется.

Все уроки этого курса

  1. Типы keyof и поиска
  2. Отображаемые типы
  3. Пересечения и объединения типов
← Назад к TypeScript Academy