CodeBlanks Logo Icon CodeBlanks

Interface vs type alias

Interface ile type alias arasındaki farkı öğrenirsin.

Interface vs type alias

Hem interface hem de type nesne şekillerini tanımlayabilir. interface özellikle nesneler içindir ve genişletilebilir. type daha geneldir; birleşik türler ve ilkel türler için de kullanılır.

// interface
interface Kisi { ad: string; yas: number; }
// type alias
type Nokta = { x: number; y: number };

Basit nesne şekilleri için ikisi de kullanılabilir.

Interface ve type ne zaman kullanılır?

Genişletilebilecek nesne şekilleri için interface tercih edilir. Birleşik türler, kesişim türleri veya ilkel tür takma adları için type kullanılır. Nesne şekilleri için her ikisi de çalışır.

// interface genişletilebilir
interface Hayvan { ad: string }
interface Kedi extends Hayvan { miyav: string }

İhtiyaca göre interface veya type seçilir.

Uygulama Interface ve type alias birlikte

Kisi adında bir interface tanımla; ad: string ve yas: number özellikleri içersin. Nokta adında bir type alias tanımla ({ x: number; y: number }). kisi adında bir değişkeni Kisi türünde tanımla ve değerini { ad: "Veli", yas: 30 } yap. kisi.ad değerini console.log ile yazdır.

Başlangıç kodu

index.ts
// Kisi adında bir interface tanımla (ad: string, yas: number)
// Nokta adında bir type alias tanımla (x: number, y: number)
// kisi değişkenini Kisi türünde tanımla, değer: { ad: "Veli", yas: 30 }
// kisi.ad değerini yazdır

Örnek çözüm

index.ts
interface Kisi {
    ad: string;
    yas: number;
}
type Nokta = { x: number; y: number };
let kisi: Kisi = { ad: "Veli", yas: 30 };
console.log(kisi.ad);

Beklenen çıktı

Veli

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangisi nesne şekilleri için özel olarak tasarlanmıştır?

  • type
  • const
  • interface Doğru cevap
  • let

Açıklama: <code>interface</code> anahtar kelimesi nesne şekillerini tanımlamak için özel olarak tasarlanmıştır; <code>type</code> ise daha geneldir ve birleşik türler de tanımlayabilir.

2 Doğru anahtar kelimeyi ekle

Soru
____ Kisi { ad: string; yas: number; }
Cevap
interface Kisi { ad: string; yas: number; }

Açıklama: <code>interface</code> anahtar kelimesi süslü parantezle nesne şekli tanımlar; <code>type</code> eşittir işareti gerektirir, <code>class</code> farklı bir kavramdır, <code>object</code> ise bu söz diziminde geçersizdir.

3 Interface vs type kavramları

Kavram Anlamı
interface X { ... } Nesne şekli için özel
type X = { ... } Genel tür tanımı
type X = string | number Birleşik tür (yalnızca type)
interface vs type Interface nesnelere özeldir

Başlangıç bölümündeki tüm dersler