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