Sobes.tech
Junior — Middle

Kāda ir Infer operatora loma tipu kontekstā un kā tas tiek piemērots?

sobes.tech AI

Atbilde no AI

TypeScriptā (bieži Node.js projektos ar tipizācijas gadījumā) nosacītajos tipos izmanto infer operatoru, lai iegūtu tipu no cita tipa. Tas ļauj deklarēt pagaidu tipa mainīgo, ko var izmantot nosacītā tipa iekšienē.

Piemērs:

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

function foo() { return 42; }

type FooReturn = ReturnType<typeof foo>; // FooReturn būs number

Šeit infer R ļauj izvilkt funkcijas T atgriešanas tipu. Ja T ir funkcija, tad R ir tās atgriešanas tips, citādi never.

Tādējādi infer operators palīdz veidot elastīgākus un vispārīgākus tipus, izvilkt iekšējos tipus no sarežģītām struktūrām.