Menu
CoddyTech

Generic Interface'ler

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

Tıpkı genel işlevler oluşturabildiğiniz gibi, genel arayüzler de oluşturabilirsiniz. Bu, belirli özellik türlerini esnek ve yeniden kullanılabilir tutarken bir nesnenin yapısını tanımlamanıza olanak tanır.

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

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

Arayüz adından sonra gelen <T>, arayüz tanımı boyunca kullanılabilecek bir tür parametresi oluşturur. Bu örnekte value özelliği, arayüzü kullanırken belirttiğiniz türde olurken isEmpty sabit bir boolean türü olarak kalır.

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

const stringContainer: Container<string> = {
  value: "hello",
  isEmpty: false
};
const numberContainer: Container<number> = {
  value: 42,
  isEmpty: false
};
challenge icon

Görev

Kolay

Her türden veriyi başarı bilgileriyle birlikte tutabilen Result adlı genel bir arayüz oluşturun.

Arayüz iki özelliğe sahip olmalıdır:

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

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

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

Aşağıdaki özelliklere sahip, processResult adlı genel bir işlev oluşturun:

  • T genel tür parametresini kullanır
  • Result<T> türünde result adlı tek bir parametre alır
  • Bir dize iletisi döndürür
  • success değeri true ise "Success: [data]" döndürür
  • success değeri false ise "Failed: [data]" döndürür

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

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

Kendin dene

// TODO: Kodunuzu buraya yazın

// Jenerik Result arayüzünü oluşturun


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


// Jenerik 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

Kendi başına pratik yap: TypeScript playground