Sobes.tech
Junior — Middle

Каква е ролята на оператора Infer в контекста на типовете и как се прилага?

sobes.tech AI

Отговор от AI

Операторът infer се използва в TypeScript (често в Node.js проекти с типизация) вътре в условни типове за извличане на тип от друг тип. Той позволява да се обяви временна променлива от тип, която може да се използва вътре в условния тип.

Пример за употреба:

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

function foo() { return 42; }

type FooReturn = ReturnType<typeof foo>; // FooReturn ще бъде number

Тук infer R позволява да се извлече типът на връщаната стойност на функцията T. Ако T е функция, R е нейният тип на връщане, иначе never.

По този начин операторът infer помага за създаване на по-гъвкави и обобщени типове, като извлича вътрешни типове от сложни структури.