TypeScript'teki yardımcı tipler hakkında bilgi veriniz.
sobes.tech yapay zeka
AI'dan gelen yanıt
TypeScript'teki yardımcı tipler, mevcut veri tiplerini yeni tipler haline dönüştürmeye olanak tanıyan yerleşik tiplerdir ve çeşitli kullanışlı işlemler gerçekleştirirler. Bu tipler, tiplerin esnekliğini ve yeniden kullanılabilirliğini artırmaya yardımcı olur ve kod tekrarını azaltır.
Ana yardımcı tipler:
-
Partial<Type>:
Type'ın tüm özelliklerini isteğe bağlı hale getiren yeni bir tip oluşturur.interface User { id: number; name: string; age: number; } type PartialUser = Partial<User>; // PartialUser { id?: number; name?: string; age?: number; } -
Readonly<Type>:
Type'ın tüm özelliklerini sadece okunabilir hale getiren yeni bir tip oluşturur.interface Point { x: number; y: number; } type ReadonlyPoint = Readonly<Point>; // ReadonlyPoint { readonly x: number; readonly y: number; } -
Pick<Type, Keys>:
Type'tan belirli özellikleri seçerek yeni bir tip oluşturur.interface Product { id: number; name: string; price: number; description: string; } type ProductSummary = Pick<Product, 'id' | 'name' | 'price'>; // ProductSummary { id: number; name: string; price: number; } -
Omit<Type, Keys>:
Type'tan belirli özellikleri çıkaran yeni bir tip oluşturur.interface Order { id: number; productId: number; quantity: number; timestamp: string; } type OrderDetails = Omit<Order, 'timestamp'>; // OrderDetails { id: number; productId: number; quantity: number; } -
Exclude<Type, ExcludedUnion>:
Type'tanExcludedUnion'a atanabilen öğeleri hariç tutar. Birlik (union) tipleri için kullanılır.type Colors = 'red' | 'green' | 'blue' | 'yellow'; type PrimaryColors = Exclude<Colors, 'yellow'>; // PrimaryColors 'red' | 'green' | 'blue' -
Extract<Type, Union>:
Type'tanUnion'a atanabilen öğeleri seçer. Birlik (union) tipleri için kullanılır.type AllAnimals = 'dog' | 'cat' | 'fish' | 'bird'; type PetAnimals = Extract<AllAnimals, 'dog' | 'cat'>; // PetAnimals 'dog' | 'cat' -
NonNullable<Type>:
Type'tannullveundefineddeğerlerini hariç tutar.type MaybeString = string | null | undefined; type NotNullableString = NonNullable<MaybeString>; // NotNullableString string olur -
Record<Keys, Type>: Anahtarları
Keys'den ve değerleriTypeolan bir nesne tipi oluşturur.type CityPopulation = Record<string, number>; // CityPopulation { [key: string]: number } const population: CityPopulation = { "Moscow": 12635466, "Saint Petersburg": 5381033, }; -
Parameters<Type>:
Typefonksiyonunun parametrelerinin türlerinden oluşan bir tuple döner.function greet(name: string, age: number): string { return `Hello, ${name}! You are ${age}.`; } type GreetParams = Parameters<typeof greet>; // GreetParams [name: string, age: number] -
ReturnType<Type>:
Typefonksiyonunun dönüş değerinin türünü döner.function calculateSum(a: number, b: number): number { return a + b; } type SumResult = ReturnType<typeof calculateSum>; // SumResult number -
ConstructorParameters<Type>: Bir sınıfın yapıcı fonksiyonunun parametrelerinin türlerinden oluşan bir tuple veya dizi döner.
class MyClass { constructor(name: string, id: number) {} } type MyClassParams = ConstructorParameters<typeof MyClass>; // MyClassParams [name: string, id: number] -
InstanceType<Type>: Bir sınıfın örnek tipini döner.
class AnotherClass { value: string; constructor(v: string) { this.value = v; } } type AnotherClassInstance = InstanceType<typeof AnotherClass>; // AnotherClassInstance AnotherClass
Yardımcı tiplerin kullanımı, kodu daha güvenli, sürdürülebilir ve ifade gücü yüksek hale getirir, karmaşık veri tiplerini etkin bir şekilde yönetmeye olanak tanır.