Sobes.tech
Junior — Middle

TypeScript'da umumiy turlar bilan Type Assertion operatoridan foydalanish mumkinmi?

sobes.tech AI

AIdan javob

Sual TypeScript ilə əlaqədardır, lakin modul Golang kimi göstərilib, ona görə də TypeScript haqqında aydınlıq gətirəcəyəm.

TypeScript-də, Tip Təsdiqi operatoru (Type Assertion) tərtibçiyə ifadənin müəyyən bir tipe sahib olduğunu göstərməyə imkan verir. Bu, ümumi tiplərlə də mümkündür.

Məsələn, əgər ümumi funksiyanız varsa:

type Wrapper<T> = { value: T };

function unwrap<T>(wrapper: Wrapper<T>): T {
  return (wrapper as Wrapper<T>).value;
}

Burada, as Wrapper<T> tip təsdiqi operatorudur və ümumi tip ilə istifadə olunur.

Ancaq, vacib olan odur ki, tip təsdiqi obyektin işləmə zamanı dəyişmir, yalnız tərtib zamanı tiplərin yoxlanmasına təsir edir.

Bu səbəbdən, Tip Təsdiqi operatoru TypeScript-də heç bir məhdudiyyət olmadan ümumi tiplərlə istifadə edilə bilər.