Как работает ключевое слово infer?

Senior
113 просмотров
AFK Offer AI

infer используется внутри conditional types для извлечения части типа. Пример: type ReturnType = T extends (...args: any[]) => infer R ? R : never — извлекает возвращаемый тип функции. infer как бы говорит «захвати этот тип в переменную R». Можно извлекать элементы массива (T extends Array), пропсы компонента, аргументы функции. Это основа для многих встроенных утилит: ReturnType, Parameters, InstanceType.

Следующий вопрос

Что делает ResizeObserver?