Junior — Middle
Ինֆեր օպերատորի դերը ինչ է տիպերի համատեքստում և ինչպես է այն կիրառվում?
sobes.tech AI
Պատասխան AI-ից
TypeScript- ում (շատ հաճախ Node.js նախագծերում տիպավորությամբ) infer օպերատորը օգտագործվում է պայմանական տիպերի մեջ՝ այլ տիպից տիպ հանելու համար։ Դա թույլ է տալիս ժամանակավոր տիպի փոփոխական հայտարարելու, որը կարող է օգտագործվել պայմանական տիպի ներսում։
Օգտագործման օրինակ՝
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 օպերատորը օգնում է ստեղծել ավելի ճկուն և ընդհանուր տիպեր՝ հանելով ներսի տիպերը բարդ կառուցվածքներից։