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.