Junior — Middle
Роли оператори Infer дар контексти намудҳо чист ва чӣ гуна истифода мешавад?
sobes.tech AI
Ҷавоб аз AI
Оператор infer дар TypeScript (ак часто дар проектҳои Node.js бо типгузорӣ) дар дохили намудҳои шарти барои кашф кардани намуд аз намудҳои дигар истифода мешавад. Он имкон медиҳад, ки тағйирёбандаи муваққатии намуд эълон карда шавад, ки дар дохили намудҳои шарти истифода мешавад.
Маслиҳат барои истифода:
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 кӯмак мекунад, ки намудҳои бештар флексибл ва умумӣ эҷод карда шаванд, ки намудҳои дохилиро аз структураҳои мураккаб кашф мекунад.