0Pricing
TypeScript Academy · Ders

Arayüz mü Tür mü: Hangisi Ne Zaman Kullanılır

Farklı senaryolar için interface ile type arasında seçim yapın

Arayüz mü Tür mü: Hangisi Ne Zaman Kullanılır, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 4 dersinin 4. 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

Hem `interface` hem de `type` nesne yapılarını tanımlar. Benzer olsalar da aralarında önemli farklar vardır. Bu ders, doğru olanı seçmenize yardımcı olur.

Benzerlikler

Her ikisi de nesne yapılarını tanımlayabilir, isteğe bağlı ve salt okunur özellikler içerebilir, işlev parametre türleri olarak kullanılabilir ve jenerikleri destekleyebilir.
interface A { x: number; }
type B = { x: number; };
// Both describe the same shape

Temel Fark: Bildirim Birleştirme

Arabirimler bildirim birleştirmeyi destekler. Tür takma adları desteklemez; bir tür takma adını yeniden bildirmek hatadır.
interface Config { host: string; }
interface Config { port: number; } // OK — merged

type Settings = { host: string; };
// type Settings = { port: number; }; // Error

Temel Fark: Birleşim ve Kesişim

Tür takma adları birleşimleri, kesişimleri, temel türleri ve demetleri tanımlayabilir. Arabirimler yalnızca nesne yapılarını tanımlayabilir.
type ID = string | number;        // union — only with type
type Nullable<T> = T | null;       // union — only with type
type Point = [number, number];     // tuple — only with type

Temel Fark: Hesaplanmış Özellikler

Tür takma adları, yapılarını hesaplamak için eşlenmiş ve koşullu türleri kullanabilir. Arabirimler bunları doğrudan kullanamaz.
type ReadonlyUser = Readonly<{ name: string; age: number }>; // mapped type
type Keys = keyof User; // only with type

Sınıf Sözleşmeleri İçin Arabirim Kullanma

Arabirimler, `implements` aracılığıyla sınıflarla doğal biçimde bütünleşir. Bu, bir sınıfın belirli özellikleri ve yöntemleri sağlamasını zorunlu kılar.
interface Repository<T> {
  findById(id: number): T | null;
  save(item: T): void;
}
class UserRepo implements Repository<User> { /* ... */ }

Performans: Arabirimler ve Türler

TypeScript, dahili olarak arabirim yapı denetimlerini karmaşık tür takma adı ifadelerinden daha verimli biçimde önbelleğe alır. Büyük nesne türleri için arabirim kullanmayı tercih edin.

Hata İletileri Farklıdır

Bir tür uyuşmazlığı oluştuğunda arabirimler genellikle hatalarda arabirim adını gösterirken tür takma adları genişletilmiş yapıyı gösterir. Arabirim hataları genellikle daha okunabilirdir.

Resmî TypeScript Önerisi

TypeScript ekibi, `type` gerektiren özelliklere ihtiyaç duyana kadar `interface` kullanmanızı önerir. Bu, belgelenmiş en iyi uygulamalarıdır.

Ekip Tutarlılığı En Önemlisidir

Birçok ekip tutarlılık sağlamak için birini seçip her yerde onu kullanır. Aynı projede ikisini de serbestçe karıştırmak kafa karıştırıcı olabilir. Bir stil kılavuzu yardımcı olur.

Özet Karar Tablosu

Şunlar için arabirim kullanın: nesneler, sınıflar, kütüphane genişletme. Şunlar için tür kullanın: birleşimler, kesişimler, demetler, temel türler, eşlenmiş türler, koşullu türler.
// interface
interface User { name: string; age: number; }

// type (union)
type ID = string | number;

// type (tuple)
type Coord = [number, number];

Hızlı Kontrol

`string | number` gibi bir birleşim türü oluşturmak için hangi yapı gereklidir?

Özet

Nesne yapıları, sınıf sözleşmeleri ve kütüphane genişletme için arabirim kullanın. Birleşimler, kesişimler, demetler ve hesaplanmış türler için tür kullanın. Emin olmadığınızda, nesne yapıları için TypeScript ekibinin önerisi arabirim kullanmaktır.

Sıkça Sorulan Sorular

“Arayüz mü Tür mü: Hangisi Ne Zaman Kullanılır” dersi ücretsiz mi?

Evet — “Arayüz mü Tür mü: Hangisi Ne Zaman Kullanılır” 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.

“Arayüz mü Tür mü: Hangisi Ne Zaman Kullanılır” dersinde ne öğreneceğim?

Farklı senaryolar için interface ile type arasında seçim yapı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 4. dersidir.

“Arayüz mü Tür mü: Hangisi Ne Zaman Kullanılır” 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. Arayüzlerle Nesne Yapılarını Tanımlama
  2. Karmaşık Türler için Tür Takma Adları
  3. Arayüz Genişletme ve Birleştirme
  4. Arayüz mü Tür mü: Hangisi Ne Zaman Kullanılır
← TypeScript Academy Sayfasına Dön