0Pricing
TypeScript Academy · Ders

Genel Arayüzler ve Tür Takma Adları

Genel türleri arayüzlere ve özel türlere uygulayın

Genel Arayüzler ve Tür Takma Adları, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, TypeScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. TypeScript Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

Genel türler yalnızca işlevlerle sınırlı değildir. Arayüzler ve tür takma adları da tür parametrelerini kabul ederek birçok türde yeniden kullanılabilir hâle gelir.

Genel Tür Arayüzü Sözdizimi

Bir arayüzü genel tür kullanan hâle getirmek için arayüz adından sonra `` ekleyin. T'yi özellik türlerinde ve yöntem imzalarında kullanın.
interface Box<T> {
  value: T;
  unwrap(): T;
}
const box: Box<number> = { value: 42, unwrap() { return this.value; } };

Genel Tür Takma Adı

Tür takma adları da aynı `` sözdizimini kullanır.
type Maybe<T> = T | null | undefined;
type Pair<A, B> = { first: A; second: B };
const p: Pair<string, number> = { first: 'Alice', second: 30 };

Genel Tür Kullanan Depo Arayüzü

Klasik bir kullanım alanı: herhangi bir varlık türüyle çalışan genel tür kullanan bir depo arayüzü.
interface Repository<T> {
  findById(id: number): T | null;
  findAll(): T[];
  save(item: T): void;
  delete(id: number): void;
}

Genel Tür Kullanan Bir Arayüzü Gerçekleme

Genel tür kullanan bir arayüzü gerçeklerken tür bağımsız değişkenini sağlayın.
class UserRepo implements Repository<User> {
  findById(id: number): User | null { return null; }
  findAll(): User[] { return []; }
  save(user: User): void {}
  delete(id: number): void {}
}

Genel Tür Kullanan Arayüzleri Genişletme

Genel tür kullanan arayüzler, başka genel tür kullanan arayüzleri genişletebilir.
interface Named<T> { name: T; }
interface NamedAndAged<T> extends Named<T> { age: number; }

Genel Tür Kullanan Yanıt Türü

Herhangi bir veri yükünü saran genel tür kullanan bir API yanıt türü.
type ApiResponse<T> = {
  status: 'success' | 'error';
  data: T;
  timestamp: number;
};
const res: ApiResponse<User[]> = { status: 'success', data: [], timestamp: Date.now() };

Arayüzlerde Birden Çok Tür Parametresi

Arayüzler birden çok tür parametresini destekler.
interface KeyValue<K, V> {
  key: K;
  value: V;
}
const kv: KeyValue<string, number> = { key: 'age', value: 30 };

Genel Tür Kullanan Olmayan Bir Arayüzde Genel Tür İşlevi

Bir arayüz, arayüzün tamamını genel tür kullanan hâle getirmeden genel tür kullanan işlevlere sahip olabilir.
interface Transformer {
  transform<T, U>(input: T, fn: (val: T) => U): U;
}

Özyinelemeli Genel Türler

Genel türler, ağaç veya bağlı liste yapıları için kendilerine başvurabilir.
interface TreeNode<T> {
  value: T;
  children: TreeNode<T>[];
}

Genel Türlerde Tür Takma Adı ve Arayüz Karşılaştırması

Her ikisi de genel türleri eşit derecede iyi destekler. Sınıfların uyguladığı sözleşmeler için arayüzü, Maybe gibi birleşim türü içeren genel türler için türü tercih edin.

Hızlı Kontrol

`interface Repository` gerçeklenirken ne sağlarsınız?

Özet

Genel tür kullanan arayüzler ve tür takma adları, herhangi bir türle çalışmak için kullanır. Depolar, yanıt sarmalayıcıları ve özyinelemeli veri yapıları için yeniden kullanılabilir sözleşmeler sağlarlar. Bunları somut tür bağımsız değişkenini sağlayarak gerçekleyin.

Sıkça Sorulan Sorular

“Genel Arayüzler ve Tür Takma Adları” dersi ücretsiz mi?

Evet — “Genel Arayüzler ve Tür Takma Adları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve TypeScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. TypeScript Academy kursu toplamda 4 dersten oluşur.

“Genel Arayüzler ve Tür Takma Adları” dersinde ne öğreneceğim?

Genel türleri arayüzlere ve özel türlere uygulayın TypeScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

TypeScript Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te TypeScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Genel Arayüzler ve Tür Takma Adları” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu TypeScript Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her TypeScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Genel Fonksiyonlar: Tür Parametreleri
  2. Genel Arayüzler ve Tür Takma Adları
  3. extends ile Genel Kısıtlamaları
  4. Varsayılan Tür Parametreleri
← TypeScript Academy Sayfasına Dön