Interface vs type alias
- TypeScript kursu
- Başlangıç
- Ders 53/89
- 4 dk
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
// 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
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
____ Kisi { ad: string; yas: number; }
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 |