Sobes.tech
Junior — Middle

რას წარმოადგენს ოპერატორის Infer როლი ტიპების კონტექსტში და როგორ გამოიყენება?

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 ოპერატორი ეხმარება უფრო მოქნილი და ზოგადი ტიპების შექმნას, ამოღებით შიდა ტიპებს რთული სტრუქტურებიდან.