Sobes.tech
Middle

TypeScript'dagi utility turlari haqida gapirib bering.

sobes.tech AI

AIdan javob

TypeScript'da utility tiplər, ümumi əməliyyatları sadələşdirən daxili köməkçi tiplərdir; məsələn, çevirmələr, çıxarışlar və ya müəyyən xüsusiyyətlərin istisna edilməsi. Onlar kodun çevikliyini və oxunaqlığını artırır.

Əsas faydalı tiplər:

  • Partial<Type>: Type'ın bütün xüsusiyyətlərinin optional olduğu bir tip yaradır.
    // 'name' və 'age' xüsusiyyətləri optional olan bir tip yaradır
    type PartialUser = Partial<{ name: string; age: number }>;
    
  • Readonly<Type>: Type'ın bütün xüsusiyyətlərinin yalnız oxuma üçün işarələndiyi bir tip yaradır.
    // 'name' və 'age' xüsusiyyətləri yalnız oxuma üçün mövcuddur
    type ReadonlyUser = Readonly<{ name: string; age: number }>;
    
  • Pick<Type, Keys>: Type'dan Keys xüsusiyyətlərini seçərək bir tip yaradır. Keys string literal və ya string literal'larının birləşməsi ola bilər.
    // Yalnız 'name' xüsusiyyətini ehtiva edən bir tip yaradır
    type UserWithName = Pick<{ name: string; age: number }, 'name'>;
    
  • Omit<Type, Keys>: Type'dan Keys xüsusiyyətlərini çıxararaq bir tip yaradır.
    // Yalnız 'age' xüsusiyyətini ehtiva edən bir tip yaradır
    type UserWithoutName = Omit<{ name: string; age: number }, 'name'>;
    
  • Exclude<UnionType, ExcludedMembers>: UnionType'dan ExcludedMembers'a uyğun olan bütün üzvləri çıxarır.
    // 'null' çıxarılır
    type NonNullableString = Exclude<string | null | undefined, null | undefined>;
    
  • Extract<Type, Union>: Type'dan Union'a uyğun olan bütün üzvləri çıxarır.
    // 'null' və 'undefined' çıxarılır
    type JustNullOrUndefined = Extract<string | null | undefined, null | undefined>;
    
  • NonNull<Type>: nullundefinedType'dan çıxarır.
    // 'null' və 'undefined' çıxarılır
    type NonNullStringOrNumber = NonNullable<string | number | null | undefined>;
    
  • Parameters<Type>: Type funksiyasının parametrlərinin tiplərini tuple şəklində alır.
    // Parametrlərin tiplərini alır: [string, number]
    type FuncParams = Parameters<(a: string, b: number) => void>;
    
  • ReturnType<Type>: Type funksiyasının geri dönüş dəyərinin tipini alır.
    // Geri dönüş dəyərinin tipi: number
    type FuncReturn = ReturnType<() => number>;
    
  • ConstructorParameters<Type>: Konstruktor tipinin parametrlərinin tiplərini çıxarır.
    // Konstruktor parametrlərinin tiplərini alır: [string, number]
    type MyClassParams = ConstructorParameters<typeof MyClass>;
    
    class MyClass {
        constructor(name: string, age: number) {}
    }
    
  • InstanceType<Type>: Konstruktor tipinin nümunə tipini çıxarır.
    // Sınıfın nümunə tipini çıxarır: MyClass
    type MyClassInstance = InstanceType<typeof MyClass>;
    
    class MyClass {
        constructor(name: string, age: number) {}
    }
    

Utility tiplərdən istifadə, daha təhlükəsiz, çevik və asan saxlanılan kod yaratmağa kömək edir.