Sobes.tech
Middle

TypeScript'teki utility türleri hakkında bilgi verin.

sobes.tech yapay zeka

AI'dan gelen yanıt

TypeScript'teki yardımcı tipler, tipler üzerinde yaygın işlemleri kolaylaştıran gömülü yardımcı tiplerdir; dönüşümler, çıkarımlar veya belirli özelliklerin hariç tutulması gibi. Kodun esnekliğini ve okunabilirliğini artırırlar.

Ana faydalı tipler:

  • Partial<Type>: Type'ın tüm özelliklerinin isteğe bağlı olduğu bir tip oluşturur.
    // 'name' ve 'age' özellikleri isteğe bağlı olan bir tip oluşturur
    type PartialUser = Partial<{ name: string; age: number }>;
    
  • Readonly<Type>: Type'ın tüm özelliklerinin yalnızca okunabilir olarak işaretlendiği bir tip oluşturur.
    // 'name' ve 'age' özellikleri yalnızca okunabilir olan bir tip oluşturur
    type ReadonlyUser = Readonly<{ name: string; age: number }>;
    
  • Pick<Type, Keys>: Type'tan Keys özellik kümesini seçerek bir tip oluşturur. Keys bir dize literal veya dize literal'larının birleşimi olabilir.
    // Sadece 'name' özelliğini içeren bir tip oluşturur
    type UserWithName = Pick<{ name: string; age: number }, 'name'>;
    
  • Omit<Type, Keys>: Type'tan Keys özellik kümesini hariç tutarak bir tip oluşturur.
    // Sadece 'age' özelliğini içeren bir tip oluşturur
    type UserWithoutName = Omit<{ name: string; age: number }, 'name'>;
    
  • Exclude<UnionType, ExcludedMembers>: UnionType'tan ExcludedMembers'a atanabilir tüm üyeleri hariç tutar.
    // 'null' hariç tutularak bir tip oluşturur
    type NonNullableString = Exclude<string | null | undefined, null | undefined>;
    
  • Extract<Type, Union>: Type'tan Union'a atanabilir tüm üyeleri çıkarır.
    // 'null' ve 'undefined' çıkarılır
    type JustNullOrUndefined = Extract<string | null | undefined, null | undefined>;
    
  • NonNull<Type>: null ve undefinedType'tan çıkarır.
    // 'null' ve 'undefined' hariç tutulan bir tip oluşturur
    type NonNullStringOrNumber = NonNullable<string | number | null | undefined>;
    
  • Parameters<Type>: Bir fonksiyonun Type parametrelerini tuple olarak alır.
    // Fonksiyonun parametre tiplerini alır: [string, number]
    type FuncParams = Parameters<(a: string, b: number) => void>;
    
  • ReturnType<Type>: Bir fonksiyonun Type dönüş değerini alır.
    // Fonksiyonun dönüş değerini alır: number
    type FuncReturn = ReturnType<() => number>;
    
  • ConstructorParameters<Type>: Bir yapıcı tipin parametrelerini çıkarır.
    // Sınıf yapıcı parametrelerini alır: [string, number]
    type MyClassParams = ConstructorParameters<typeof MyClass>;
    
    class MyClass {
        constructor(name: string, age: number) {}
    }
    
  • InstanceType<Type>: Bir yapıcı tipin örnek tipini çıkarır.
    // Sınıf örneği tipini çıkarır: MyClass
    type MyClassInstance = InstanceType<typeof MyClass>;
    
    class MyClass {
        constructor(name: string, age: number) {}
    }
    

Utility tiplerin kullanımı, daha güvenli, esnek ve bakımı kolay kod oluşturulmasına katkıda bulunur.