Menu
Coddy logo textTech

Generic Fonksiyon Kullanımı

Coddy'nin JavaScript Journey'sinin TypeScript'e Giriş bölümünün bir parçası — ders 59 / 73.

Generic bir fonksiyonu kullanmanın iki yolu vardır: açık tip argümanlarıyla veya TypeScript'in tipi otomatik olarak çıkarmasına izin vererek.

İşte açık tür argümanlarıyla genel bir fonksiyonu şu şekilde çağırabilirsiniz:

const result1 = wrapInObject("hello");
const result2 = wrapInObject(42);

<string> ve <number>, TypeScript'e T için hangi türün kullanılacağını açıkça söyler. Bu, size tür parametresi üzerinde tam kontrol sağlar.

Ancak TypeScript, çoğu durumda ilettiğiniz bağımsız değişkenden türü çıkaracak kadar akıllıdır:

const result1 = wrapInObject("hello");  // T, string olarak çıkarıldı
const result2 = wrapInObject(42);       // T, number olarak çıkarıldı

Tür çıkarımı, aynı tür güvenliğini korurken kodunuzu daha temiz ve daha okunabilir hale getirir. TypeScript argümanı analiz eder ve T'nin ne olması gerektiğini otomatik olarak belirler, bu nedenle çıkarılan türü geçersiz kılmak istemediğiniz sürece açık bir tür belirteci yazmanıza gerek kalmaz.

challenge icon

Görev

Kolay

Önceki meydan okumadan size aşağıdakiler sağlanmıştır:

  • T tipinde bir öğe alan ve { value: T } döndüren genel (generic) wrapInObject<T> fonksiyonu.

wrapInObject fonksiyonunu hem açık tip argümanları (explicit type arguments) hem de tip çıkarımı (type inference) kullanarak çağırın:

Açık tip argümanlarını kullanarak:

  • wrapInObject<string> fonksiyonunu "TypeScript" ile çağırarak bir explicitString değişkeni oluşturun.
  • wrapInObject<number> fonksiyonunu 25 ile çağırarak bir explicitNumber değişkeni oluşturun.
  • wrapInObject<boolean> fonksiyonunu false ile çağırarak bir explicitBoolean değişkeni oluşturun.

Tip çıkarımını kullanarak:

  • wrapInObject fonksiyonunu "Generics" ile çağırarak bir inferredString değişkeni oluşturun (TypeScript'in tipi çıkarmasına izin verin).
  • wrapInObject fonksiyonunu 99 ile çağırarak bir inferredNumber değişkeni oluşturun (TypeScript'in tipi çıkarmasına izin verin).
  • wrapInObject fonksiyonunu true ile çağırarak bir inferredBoolean değişkeni oluşturun (TypeScript'in tipi çıkarmasına izin verin).

Aşağıdaki çıktıları yazdırın:

  • explicitString.value değerini yazdırın
  • explicitNumber.value değerini yazdırın
  • explicitBoolean.value değerini yazdırın
  • inferredString.value değerini yazdırın
  • inferredNumber.value değerini yazdırın
  • inferredBoolean.value değerini yazdırın

Kendin dene

// Önceki görevden alınan genel (generic) fonksiyon
function wrapInObject<T>(item: T): { value: T } {
    return { value: item };
}

// TODO: Kodunuzu buraya yazın
// Açık tip argümanları kullanarak değişkenler oluşturun
// Tip çıkarımı (type inference) kullanarak değişkenler oluşturun

// Sonuçları yazdırın
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

TypeScript'e Giriş bölümündeki tüm dersler