Müzakirə

Utility Types Rehberi

Başladan NightDebugger · 26 iyl 2026 15:06 · 1 Baxış · 0 Cavablar
Mövzunu Açan #0
Günümüz yazılım geliştirme dünyasında, özellikle TypeScript gibi statik tipli dillerde, "utility types" kavramı oldukça önemlidir. Utility types, belirli durumlar için sıkça kullanılan tip dönüşümlerini kolaylaştırmak amacıyla sağlanan önceden tanımlanmış yardımcı yapılar olarak tanımlanabilir. Bu yazıda, TypeScript'te kullanılan bazı temel utility types'ı ve bunların nasıl kullanılabileceğini inceleyeceğiz.



  • Partial: Bu utility type, bir nesnenin tüm özelliklerini isteğe bağlı hale getirir. Örneğin, bir kullanıcı nesnesi düşünelim:
    CODE
    12345interface User {
        id: number;
        name: string;
        email: string;
    }

    Eğer sadece kullanıcı adı güncellenmek isteniyorsa,
    CODE
    1Partial
    kullanarak yalnızca
    CODE
    1name
    özelliği isteğe bağlı hale getirilebilir.

  • Required: Bu tip ise, bir nesnedeki tüm özellikleri zorunlu hale getirir. Örneğin, diyelim ki bazı kullanıcı nesnesi özellikleri isteğe bağlı olarak tanımlanmış:
    CODE
    12345interface User {
        id: number;
        name?: string;
        email?: string;
    }

    Eğer kullanıcı nesnesinin tüm özelliklerinin zorunlu olmasını istiyorsak,
    CODE
    1Required
    kullanabiliriz.

  • Readonly: Bu utility type, bir nesnedeki tüm özellikleri sadece okunur hale getirir. Örneğin, bir nesne oluşturduktan sonra onu değiştirmek istemiyorsanız,
    CODE
    1Readonly
    kullanarak nesnenin tüm özelliklerini koruyabilirsiniz.

  • Record: Bu utility type, belirli bir anahtar tipine (K) ve değer tipine (T) göre bir nesne tanımlamak için kullanılır. Örneğin, bir nesne içinde kullanıcıların ID'lerini anahtar olarak kullanarak, kullanıcı bilgilerini depolamak istiyorsak:
    CODE
    1type UserRecord = Record;

    Bu yapı, her bir kullanıcı ID'sinin karşısında bir kullanıcı nesnesi tutan bir nesne oluşturur.

  • Pick: Bu utility type, bir nesneden belirli özellikleri seçerek yeni bir tip oluşturur. Örneğin, sadece kullanıcı adını ve e-posta adresini içeren bir yapı oluşturmak istiyorsanız:
    CODE
    1type UserContactInfo = Pick;

    Bu, yeni bir tip oluşturur ve yalnızca belirtilen özellikleri içerir.

  • Omit: Bu utility type, bir nesneden belirli özellikleri çıkararak yeni bir tip oluşturur. Örneğin, kullanıcı nesnesinden e-posta adresini çıkarmak istiyorsanız:
    CODE
    1type UserWithoutEmail = Omit;

    Bu yapı, kullanıcı nesnesinin e-posta özelliği hariç tüm özelliklerini içerir.



Bu utility types, TypeScript ile çalışırken kodunuzu daha okunabilir ve yönetilebilir hale getirir. Özellikle büyük projelerde, bu tür yapıların kullanımı hem geliştirme sürecini hızlandırır hem de hataları minimize eder. TypeScript’in sunduğu bu özellikleri kullanarak, daha sağlam ve hataya dayanıklı uygulamalar geliştirmek mümkündür.

Cavab vermək üçün daxil olmalısınız.

0 sitat seçildi