Sobes.tech
Junior — Middle

Milline on Infer operaatori roll tüübi kontekstis ja kuidas seda kasutatakse?

sobes.tech AI

Vastus AI-lt

TypeScriptis (tihti Node.js projektides koos) kasutatakse tingimuslike tüüpide sees infer operaatorit, et välja tõmmata tüüp teisest tüübist. See võimaldab deklareerida ajutise tüübi muutujat, mida saab kasutada tingimusliku tüübi sees.

Näide kasutamisest:

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

function foo() { return 42; }

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

Siin võimaldab infer R välja tõmmata funktsiooni T tagastustüübi. Kui T on funktsioon, siis R on selle tagastustüüp, vastasel juhul never.

Nii aitab infer operaator luua paindlikumaid ja üldisemaid tüüpe, välja tõmmates sisemisi tüüpe keerukatest struktuuridest.