Перейти к основному содержимому
Об авторе
Проекты
Знания
Знания/TypeScript/infer

Что делает ключевое слово `infer` в условных типах TypeScript?

СобеседованиеДженерикиПродвинутые типы
  • Объявляет переменную типа в условном выражении: T extends Promise<infer R> ? R : T
  • Извлечение возвращаемого типа: T extends (...args: any[]) => infer R ? R : never
  • Извлечение элементов кортежа: T extends [infer H, ...infer Rest] ? ...
  • Извлечение частей строк: T extends \${infer P}` ? ...`
  • Ковариантная позиция (return): результат — union
  • Контравариантная позиция (params): результат — intersection
  • Constrained infer (TS 4.7+): infer N extends number — ограничение на выводимый тип
  • Главная
  • Об авторе
  • Проекты
  • Знания
Логотип nKolmykov