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
};Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Görev
KolayHerhangi 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:
booleantüründesuccessTtüründe (genel tür parametresi)data
Genel arayüzünüzü kullanarak aşağıdaki nesneleri oluşturun:
success: truevedata: "Operation completed"değerlerine sahipResult<string>türündestringResultsuccess: truevedata: 42değerlerine sahipResult<number>türündenumberResultsuccess: falsevedata: falsedeğerlerine sahipResult<boolean>türündebooleanResultsuccess: truevedata: ["item1", "item2", "item3"]değerlerine sahipResult<string[]>türündearrayResult
Şunları yapan processResult adında genel bir fonksiyon oluşturun:
- Genel bir
Ttür parametresi kullanır Result<T>türünderesultadında bir parametre alır- Bir dize (string) mesajı döndürür
- Eğer
successdeğeritrueise,"Success: [data]"döndürür - Eğer
successdeğerifalseise,"Failed: [data]"döndürür
Aşağıdaki çıktıları yazdırın:
stringResultileprocessResultçağırmanın sonucunu yazdırınnumberResultileprocessResultçağırmanın sonucunu yazdırınbooleanResultileprocessResultçağırmanın sonucunu yazdırınarrayResultileprocessResultçağırmanın sonucunu yazdırınstringResult.datadeğ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ınBu 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
1TS ile Başlarken
TypeScript Nedir?Neden TypeScript Kullanılır?İlk TypeScript KodunuzDerleme Süreci ve HatalarÖzet: TS'ye Giriş4Fonksiyonlarla Çalışmak
Parametre ve Dönüş Değerlerini TiplendirmeArrow Fonksiyonlarını Tiplendirme'void' Dönüş Tipi'?' ile Opsiyonel ParametrelerVarsayılan Parametre DeğerleriRest Parametrelerini TiplendirmeFonksiyon Tiplerini TanımlamaÖzet: Tiplendirilmiş Fonksiyonlar Oluşturma2Temel Tipler
Temel Tipler: str, num, boolean'any' Tipi: Kaçış Yolu'unknown' Tipi'null' ve 'undef' ile ÇalışmakTip Çıkarımı İş BaşındaAçık Tip BelirlemeleriÖzet: Temel Tipler Pratiği5Tipler: Takma Adlar, Unionlar ve Kesişimler
İlkel Tipler için Tip Takma AdlarıUnion Tipler ('|')Union Tipler ile ÇalışmakLiteral TiplerKesişim Tipleri ('&')Tip Takma Adlarını BirleştirmeÖzet: Gelişmiş Tip Kombinasyonları3Veri Yapısı: Diziler ve Tuple
Tipli DizilerDiziler için 'readonly' BelirleyicisiTuple Nedir?Tuple Tanımlama ve ErişmeTuple DestructuringReadonly Tuple'larÇok Boyutlu Tipli DizilerDizilerle Spread OperatörüÖzet: Diziler ve Tuple'lar6Nesneleri ve Interface'leri Tiplendirme
Satır İçi Nesne Tipi BelirtimleriNesneler için Type Alias KullanımıInterface'lere GirişInterface'ler ve Type Alias'ların KarşılaştırılmasıOpsiyonel ve Readonly ÖzelliklerInterface ve Tipleri GenişletmeInterface'lere Metot EklemeÖzet: Nesne Yapılarını Tanımlama9Generic Yapılar: İlk Bakış
Generic Yapıların Çözdüğü SorunGeneric Identity Fonksiyonu OluşturmaGeneric Fonksiyon KullanımıGeneric DizilerGeneric Interface'lerÖzet: Generic Fonksiyon Pratiği