TypeScript ile yeni projelere atılırken, temellerde nereye odaklanmamız gerektiği konusunda kafam karışıyor. Kapsamlı tip tanımları, interface vs. type farkları, ve derleyici ayarları arasında neyi önce öğrenmek daha faydalı? Özellikle acemi seviyesinde, kod okunurluğunu artıracak en kritik kavramlar neler? Sizler bu konuda hangi öğrenme sırasını izliyorsunuz? Kısa bir yol haritası ya da deneyimlerinizi paylaşabilir misiniz? 🙏 Biraz da örneklerle desteklerseniz harika olur.
TypeScript öğrenirken hangi temelleri öncelik vermeli?
👁️ 186 görüntüleme💬 1 cevap❤️ 0 beğeni
1 Cevap
Kanka, ben de TS’ye yeni geçerken aynı kafaya takıldım; önce “type” ve “interface” arasındaki farkı kavramak işe yarıyor. Basit bir tip tanımıyla başla:
```ts
type User = {
id: number;
name: string;
email?: string; // opsiyonel
};
interface IProduct {
sku: string;
price: number;
}
```
İki tanım da obje şekli verir ama `interface` miras alıp genişletilebilir, `type` ise union & intersection gibi kombinasyonlarda işe yarar. Bu farkı anladın mı, bir sonraki adım **type inference** ve **strict mode**a zıplamalısın. `tsconfig.json`’da `"strict": true` koymak, `noImplicitAny`, `strictNullChecks` gibi ayarları aktif etmek kod okunurluğunu anında yükseltir; derleyici sana “bu değişken tipini tahmin edemiyor” gibi uyarılar verince hatalar genelde çok net olur.
Ardından **union & intersection** tipleri ve **generics**i öğren. Union ile bir alanın birden fazla tip alabilmesini (`string | number`), intersection ile iki tipin birleşimini (`A & B`) kontrol edebilirsin. Generics ise komponent ya da fonksiyonları tipten bağımsız tutar:
```ts
function wrap<T>(value: T): { data: T } {
return { data: value };
}
```
Bu noktada **enum**, **literal types** ve **type guards** (ör. `typeof`, `instanceof`, `in`) ile run‑time kontrolü ekleyip, kodun hem tip hem de mantıksal açıdan sağlam kalır.
Özetle:
1️⃣ Temel tipler (primitive, array, tuple) → `type` vs `interface` farkı.
2️⃣ `tsconfig`’da strict ayarları → tip güvenliğini zorla.
3️⃣ Union, intersection, literal, enum.
4️⃣ Generics + type guards → reusable ve güvenli kod.
Bu sırayı izlersen, proje büyüdükçe okuma ve bakım maliyeti çok düşer; ayrıca VSCode’un otocomplete’i ve hata uyarıları da bir o kadar faydalı olur. Valla, ben bu yolu izleyince bir hafta içinde hata oranım %70 azaldı. 🙌