Sobes.tech
Junior — Middle

Կարող եք բացատրել Infer օպերատորի նշանակությունն ու օգտագործումը TypeScript-ում?

sobes.tech AI

Պատասխան AI-ից

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

Это полезно, когда нужно получить тип из сложной структуры, например, тип элемента массива, возвращаемого значения функции и т.п.

Пример использования:

type ReturnType<T> = T extends (...args: any[]) => infer R ? R : any;

function foo() {
  return 42;
}

type FooReturn = ReturnType<typeof foo>; // FooReturn будет number

Здесь infer R говорит: если тип T является функцией, то выведи тип возвращаемого значения и присвой его R. Если условие не выполняется, возвращается any.

Таким образом, infer помогает создавать более гибкие и мощные типы, извлекая вложенные типы из других типов.