Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Специализация

Python Backend Developer

Java Backend Developer

Node.js Backend Developer

Golang Backend Developer

React Frontend Developer

Посмотреть все

Выберите навыки

React

React

JavaScript

JavaScript

Git

Git

Redux

Redux

Webpack

Webpack

Посмотреть все

Сложность

1-3

4-6

7-8

9-10

Рейтинг вопросов

1

2

3

4

5

Подпишись на React Developer в телеграм

Вопросы React Frontend Developer


Для чего нужен оператор keyof и typeof в ts? Что выведет keyof от typeof?

Как типизировать функцию, которая получает значение объекта по ключу?

Как ограничить generic ключами объекта (keyof)?

Можно ли средствами TypeScript ограничить поле key в конфигурации колонок только ключами из переданных данных?

  • Рейтинг:

    5

  • Сложность:

    7

typeof в TypeScript (в контексте типов) используется для получения типа переменной или константы. keyof используется для получения типа, представляющего все ключи (имена свойств) другого типа. Комбинация keyof typeof сначала получает тип значения с помощью typeof, а затем извлекает тип его ключей с помощью keyof. Это позволяет создать union-тип из имен свойств объекта, определенного как константа.

Подробнее
  • Рейтинг:

    5

  • Сложность:

    6

Функцию типизируют с помощью generic-параметров и keyof. Ключ ограничивается ключами объекта, а тип возвращаемого значения зависит от переданного ключа. Это позволяет TypeScript точно вывести тип и предотвратить доступ к несуществующим свойствам. Такой подход делает код безопасным и самодокументируемым.

Подробнее
  • Рейтинг:

    5

  • Сложность:

    6

Generic ограничивают ключами объекта с помощью конструкции K extends keyof T. Это гарантирует, что K может быть только одним из ключей объекта T. Такой подход позволяет связать тип ключа с типом возвращаемого значения и получить точную типизацию. Это базовый и самый распространённый паттерн в TypeScript.

Подробнее
  • Рейтинг:

    4

  • Сложность:

    6

Да, можно. Используйте дженерики с keyof для ограничения ключей. Например, определите тип ColumnConfig с полем key: keyof T. Затем функция принимает данные типа T и массив ColumnConfig. TypeScript автоматически выведет T и проверит, что key — только существующие ключи данных.
Подробнее