> Что такое keyof в TypeScript и для чего он используется (TypeScript)
Уровень: junior · Роль: frontend · Категория: Технические вопросы
Компании: Иннотех, Soft_Media_Group, Altenar
Стек: TypeScript
> Пример ответа
keyof - это оператор TypeScript, который возвращает объединение (union) всех ключей (свойств) заданного типа. Проще говоря, он позволяет получить тип, состоящий из названий полей объекта.
Для чего используется:
-
Типизация доступа к свойствам: Гарантирует, что обращение к свойству объекта происходит только по существующему ключу.
-
Создание строго типизированных утилит: Например, функция
getProperty(obj, key)может быть типизирована так, чтобы возвращаемый тип соответствовал типу значения по указанному ключу. -
Построение маппированных типов: В сочетании с
inпозволяет создавать новые типы на основе существующих (например,Partial<T>илиReadonly<T>).
Пример:
TYPESCRIPTinterface User {name: string;age: number;}// keyof User => "name" | "age"function getValue<T, K extends keyof T>(obj: T, key: K): T[K] {return obj[key];}const user: User = { name: "Alice", age: 30 };const userName: string = getValue(user, "name"); // ✅ OK// getValue(user, "email"); // ❌ Ошибка: "email" нет в ключах User
Таким образом, keyof обеспечивает типобезопасную работу с ключами объектов, предотвращая ошибки времени выполнения на этапе компиляции.
> Похожие задачи по frontend
Что такое операторы Pick, Partial, Omit, Required, NonNullable и Exclude в TypeScript
Что такое generics в TypeScript и как они помогают создавать переиспользуемые компоненты?
Что такое декораторы в TypeScript и для чего они используются
Что такое объединение и пересечение типов в TypeScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью