Menu
Coddy logo textTech

Generic Interface'ler

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

Tıpkı generic fonksiyonlar oluşturabildiğiniz gibi, generic arayüzler de oluşturabilirsiniz. Bu, belirli özellik türlerini esnek ve yeniden kullanılabilir tutarken bir nesnenin şeklini tanımlamanıza olanak tanır.

Aynı tür parametresi söz dizimini kullanarak genel bir arayüzü şu şekilde oluşturabilirsiniz:

interface Container {
  value: T;
  isEmpty: boolean;
}

Arayüz isminden sonra gelen <T>, arayüz tanımı boyunca kullanılabilecek bir tip parametresi oluşturur. Bu örnekte, value özelliği arayüzü kullanırken belirttiğiniz herhangi bir tipe sahip olacakken, isEmpty sabit bir boolean tipi olarak kalır.

Generic bir arayüz kullandığınızda, somut türü açılı ayraçlar içinde belirtirsiniz:

const stringContainer: Container = {
  value: "hello",
  isEmpty: false
};

const numberContainer: Container = {
  value: 42,
  isEmpty: false
};
quiz iconKendini test et

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

quiz iconKendini test et

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

quiz iconKendini test et

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

challenge icon

Görev

Kolay

Herhangi bir türdeki veriyi başarı bilgisiyle birlikte tutabilen Result adında genel (generic) bir arayüz oluşturun.

Arayüzün iki özelliği olmalıdır:

  • boolean türünde success
  • T türünde (genel tür parametresi) data

Genel arayüzünüzü kullanarak aşağıdaki nesneleri oluşturun:

  • success: true ve data: "Operation completed" değerlerine sahip Result<string> türünde stringResult
  • success: true ve data: 42 değerlerine sahip Result<number> türünde numberResult
  • success: false ve data: false değerlerine sahip Result<boolean> türünde booleanResult
  • success: true ve data: ["item1", "item2", "item3"] değerlerine sahip Result<string[]> türünde arrayResult

Şunları yapan processResult adında genel bir fonksiyon oluşturun:

  • Genel bir T tür parametresi kullanır
  • Result<T> türünde result adında bir parametre alır
  • Bir dize (string) mesajı döndürür
  • Eğer success değeri true ise, "Success: [data]" döndürür
  • Eğer success değeri false ise, "Failed: [data]" döndürür

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

  • stringResult ile processResult çağırmanın sonucunu yazdırın
  • numberResult ile processResult çağırmanın sonucunu yazdırın
  • booleanResult ile processResult çağırmanın sonucunu yazdırın
  • arrayResult ile processResult çağırmanın sonucunu yazdırın
  • stringResult.data değerini yazdırın

Kopya kağıdı

Genel arayüzler (Generic interfaces), belirli özellik türlerini esnek ve yeniden kullanılabilir tutarken bir nesnenin şeklini tanımlamanıza olanak tanır.

Tür parametresi sözdizimini kullanarak genel bir arayüz oluşturun:

interface Container<T> {
  value: T;
  isEmpty: boolean;
}

Arayüz adından sonraki <T>, arayüz tanımı boyunca kullanılabilecek bir tür parametresi oluşturur.

Açılı ayraçlar içinde somut türü belirterek genel bir arayüz kullanın:

const stringContainer: Container<string> = {
  value: "hello",
  isEmpty: false
};

const numberContainer: Container<number> = {
  value: 42,
  isEmpty: false
};

Kendin dene

// YAPILACAK: Kodunuzu buraya yazın

// Genel (generic) Result arayüzünü oluşturun


// Result arayüzünü kullanarak nesneleri oluşturun


// Genel (generic) processResult fonksiyonunu oluşturun


// Gerekli çıktı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