interface ile type alias arasındaki farklar nelerdir?
Cevap
İkisi de nesne şekillerini tanımlayabilir ve çoğu durumda birbirinin yerine kullanılabilir. Farklar:
- interface yalnızca nesne/fonksiyon şekli tanımlar; declaration merging destekler (aynı adla iki interface birleşir).
extendsile genişletilir. - type her şeyi adlandırabilir: union (
"a" | "b"), tuple, primitive alias, mapped ve conditional tipler.&(intersection) ile birleştirilir.
interface Kullanici { id: number; ad: string }
interface Kullanici { email: string } // birleşir
type Durum = "beklemede" | "onaylandi" | "reddedildi";
type Admin = Kullanici & { yetkiler: string[] };Yaygın tercih: genişletilebilir nesne sözleşmeleri (ör. kütüphane API'leri) için interface, union ve hesaplanmış tipler için type.
İlgili TypeScript soruları
- any, unknown ve never tipleri arasındaki fark nedir?
- Generic (jenerik) tipler nedir? Bir örnekle açıklayın.
- TypeScript nedir, JavaScript'e göre avantajları nelerdir?
- tsconfig.json'daki strict modu neleri açar, neden önemlidir?
- TypeScript'te enum ile union literal tip arasında hangisini tercih edersiniz?
- Mapped type ve conditional type nedir? Örnek verin.
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.