Menu
Coddy logo textTech

Generic Identity Fonksiyonu Oluşturma

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

Klasik identity örneğini kullanan genel bir fonksiyonun sözdizimi şöyledir:

function identity(arg: T): T {
  return arg;
}

Fonksiyon adından sonraki <T>, T adında bir tip parametresi tanımlar. Bu T, herhangi bir tipi temsil edebilen bir yer tutucu görevi görür. Bu fonksiyonu kullandığınızda, TypeScript T ifadesini çalıştığınız gerçek tiple değiştirecektir.

Bu yaklaşımın güzelliği, tür bilgisini korumasıdır.

Eğer identity("hello") çağırırsanız, TypeScript dönüş türünün string olduğunu bilir. Eğer identity(42) çağırırsanız, dönüş türünün number olduğunu bilir.

Tam tip güvenliğini korurken birden fazla tiple çalışmanın tüm esnekliğine sahip olursunuz.

Geleneksel olarak, T "Tür" (Type) anlamına gelir, ancak tür parametreniz için istediğiniz herhangi bir ismi kullanabilirsiniz. Önemli olan, fonksiyonunuzun girdi ve çıktı türleri arasında bir ilişki oluşturmasıdır.

challenge icon

Görev

Kolay

Herhangi bir türde argüman alan ve bu değeri içeren bir nesne döndüren wrapInObject adında genel (generic) bir fonksiyon oluşturun.

Fonksiyon şunları yapmalıdır:

  • Genel bir tür parametresi olan T kullanmalı
  • T türünde item adında bir parametre kabul etmeli
  • T türünde tek bir value özelliğine sahip bir nesne döndürmeli
  • Açık bir dönüş türü belirtecine sahip olmalı

Fonksiyonunuzu test etmek için aşağıdaki değişkenleri oluşturun:

  • wrappedString - wrapInObject fonksiyonunu "Hello TypeScript" dizesi ile çağırın
  • wrappedNumber - wrapInObject fonksiyonunu 42 sayısı ile çağırın
  • wrappedBoolean - wrapInObject fonksiyonunu true boolean değeri ile çağırın

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

  • wrappedString.value değerini yazdırın
  • wrappedNumber.value değerini yazdırın
  • wrappedBoolean.value değerini yazdırın
  • "Generic" dizesi ile wrapInObject çağrısının sonucunu, value özelliğine erişerek yazdırın
  • 100 sayısı ile wrapInObject çağrısının sonucunu, value özelliğine erişerek yazdırın

Kendin dene

// TODO: Kodunuzu buraya yazın
// wrapInObject genel fonksiyonunu oluşturun

// TODO: Test değişkenlerini oluşturun
// wrappedString, wrappedNumber, wrappedBoolean

// Çıktıları yazdırın
console.log(wrappedString.value);
console.log(wrappedNumber.value);
console.log(wrappedBoolean.value);
console.log(wrapInObject("Generic").value);
console.log(wrapInObject(100).value);
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