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 помага за създаване на по-гъвкави и обобщени типове, като извлича вътрешни типове от сложни структури.