Generic Interface'ler
Coddy'nin JavaScript Journey'sinin TypeScript'e Giriş bölümünün bir parçası. Ders 61 / 73.
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 {
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.
Jenerik bir arayüz kullandığınızda, somut türü açılı parantezler içinde belirtirsiniz:
const stringContainer: Container = {
value: "hello",
isEmpty: false
};
const numberContainer: Container = {
value: 42,
isEmpty: false
};Görev
KolayHer türden veriyi başarı bilgisiyle birlikte tutabilen Result adlı genel bir arayüz oluşturun.
Arayüz iki özelliğe sahip olmalıdır:
successtürübooleandatatürüT(genel tür parametresi)
Genel arayüzünüzü kullanarak aşağıdaki nesneleri oluşturun:
stringResulttürüResult<string>;success: truevedata: "Operation completed"değerleriylenumberResulttürüResult<number>;success: truevedata: 42değerleriylebooleanResulttürüResult<boolean>;success: falsevedata: falsedeğerleriylearrayResulttürüResult<string[]>;success: truevedata: ["item1", "item2", "item3"]değerleriyle
Aşağıdaki işlemleri gerçekleştiren processResult adlı genel bir işlev oluşturun:
- Genel tür parametresi olarak
Tkullanır Result<T>türünde birresultparametresi alır- Bir dize iletisi döndürür
successdeğeritrueise"Success: [data]"döndürürsuccessdeğerifalseise"Failed: [data]"döndürür
Aşağıdaki çıktıları yazdırın:
stringResultileprocessResultçağrısının sonucunu yazdırınnumberResultileprocessResultçağrısının sonucunu yazdırınbooleanResultileprocessResultçağrısının sonucunu yazdırınarrayResultileprocessResultçağrısının sonucunu yazdırınstringResult.datadeğerini yazdırın
Kendin dene
// TODO: Kodunuzu buraya yazın
// Jenerik Result arayüzünü oluştur
// Result arayüzünü kullanarak nesneleri oluştur
// Jenerik processResult fonksiyonunu oluştur
// Gerekli çıktıları yazdırBu 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ğiKendi başına pratik yap: Online JavaScript derleyicisi