Junior — Middle
Оё метавонед мақсади ва истифодаи оператори Infer дар TypeScript-ро шарҳ диҳед?
sobes.tech AI
Ҷавоб аз AI
оператори infer дар TypeScript дар дохили намудҳои шартидодашуда барои кашф кардани намуд аз намудҳои дигар истифода мешавад. Он имкон медиҳад, тағйирёбандаи намудро эълон кунад, ки TypeScript автоматӣ онро муайян мекунад, агар шароит иҷро шавад.
Ин барои гирифтани намуд аз сохтори мураккаб, масалан, намуд аз унсури массив, арзиши баргардонидашудаи функсия ва ғайра, кӯмак мекунад.
Маслиҳат барои истифода:
type ReturnType<T> = T extends (...args: any[]) => infer R ? R : any;
function foo() {
return 42;
}
type FooReturn = ReturnType<typeof foo>; // FooReturn хоҳад буд number
Ин ҷо, infer R мегӯяд: агар намуд T функсия бошад, намуди арзиши баргардонидашударо кашф кунед ва ба R таъин кунед. Агар шароит иҷро нашуд, any баргардонида мешавад.
Ин тариқ, infer кӯмак мекунад, намудҳои бештар чандир ва қувватманд созед, намудҳои дохилӣ аз намудҳои дигар кашф кунед.