Sobes.tech
Junior — Middle

Kokia yra operatoriaus Infer vaidmuo tipų kontekste ir kaip jis taikomas?

sobes.tech AI

Atsakymas iš AI

TypeScript'e (dažnai Node.js projektuose su tipizavimu) sąlyginiai tipuose naudojamas infer operatorius, norint išgauti tipą iš kito tipo. Jis leidžia deklaruoti laikiną tipo kintamąjį, kurį galima naudoti sąlyginio tipo viduje.

Naudojimo pavyzdys:

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

function foo() { return 42; }

type FooReturn = ReturnType<typeof foo>; // FooReturn bus number

Čia infer R leidžia išgauti funkcijos T grąžinamojo tipo tipą. Jei T yra funkcija, tada R yra jos grąžinamojo tipo, kitaip never.

Taip infer operatorius padeda kurti lankstesnius ir bendresnius tipus, išgaunant vidinius tipus iš sudėtingų struktūrų.