TypeScript öğrenmenin en düzenli yolu, resmî TypeScript Handbook sırasını izlemektir: önce TypeScript'in JavaScript ile ilişkisini ve derleyicinin ne yaptığını anlarsınız, sonra günlük tipleri, daraltmayı (narrowing), fonksiyon ve nesne tiplerini, ardından tiplerden yeni tipler üretmeyi, sınıfları ve modülleri öğrenirsiniz. Bu sayfa o sırayı Türkçe bir öğrenme yoluna çevirir ve serideki 35 yazının tamamını konu başlıklarına göre listeler.
TypeScript, JavaScript'in üzerine eklenen bir tip katmanıdır; çalışma zamanındaki her şey yine JavaScript'tir. Bu yüzden dilin kendisini (değişkenler, fonksiyonlar, closure, Promise, modüller) bilmiyorsanız önce JavaScript öğrenme rehberi sayfasındaki yolu izlemenizi öneririz. Handbook da aynı şeyi söyler: fonksiyon, sınıf ve closure gibi JavaScript temellerini baştan anlatmaz, bunları bildiğinizi varsayar.
Handbook nasıl bir kaynak?
Resmî Handbook iki parçadan oluşur. Birinci parça, yukarıdan aşağı okunmak üzere yazılmış ana metindir; amacı, okuyanın yaygın TypeScript sözdizimini okuyup anlayabilmesi, önemli derleyici ayarlarının etkisini açıklayabilmesi ve tip sisteminin çoğu durumdaki davranışını önceden kestirebilmesidir. İkinci parça referans sayfalarıdır: her biri tek bir kavramı (utility tipleri, enum, dekoratörler, modül çözümleme gibi) derinlemesine anlatır ve sırayla okunmak zorunda değildir.
Handbook bir dil spesifikasyonu değildir; bazı uç durumları bilerek atlar ve ayrıntıyı referans sayfalarına bırakır. Webpack, Babel, React gibi araçlarla entegrasyon da kapsamı dışındadır. Bu seride de aynı ayrımı koruduk: başlangıç yazıları ana metnin sırasını izler, ileri yazılar referans sayfalarına ve tsconfig belgelerine dayanır.
Öğrenme yolu: adım adım

| Adım | Handbook bölümü | Bu serideki karşılığı |
|---|---|---|
| 1 | TypeScript for JavaScript Programmers / The Basics | TypeScript nedir, kurulum ve tsc |
| 2 | Everyday Types | Temel tipler, any/unknown/never, literal tipler |
| 3 | Narrowing | Narrowing ve type guard, null ve undefined |
| 4 | More on Functions | Fonksiyon tipleri ve overload |
| 5 | Object Types | interface ve type, index signature, tuple |
| 6 | Creating Types from Types | Generics, keyof, conditional, mapped, template literal tipler |
| 7 | Classes | Sınıflar ve erişim belirleyiciler |
| 8 | Modules | Modül çözümleme, ESM ve CommonJS |
| 9 | Reference ve tsconfig | tsconfig, strict, target/lib, paths, project references |
1. Temeli kurun: TypeScript nedir, tsc ne yapar?
İlk iş, TypeScript'in statik bir tip denetleyicisi olduğunu ve tiplerin derlemeden sonra silindiğini kavramaktır. TypeScript nedir ve JavaScript'ten farkı yazısı bu modeli kurar. Ardından TypeScript kurulumu ve tsc ile derleyiciyi projenize ekleyip ilk dosyanızı derleyin, tsconfig.json rehberi ile proje ayarlarını tanıyın.
Aşağıdaki kısa örnek, öğreneceğiniz her şeyin özetidir: parametrelere tip yazarsınız, derleyici çağrıları denetler, çıktıda ise tipler yer almaz.
function selamla(kisi: string, tarih: Date): string {
return `Merhaba ${kisi}, bugün ${tarih.getFullYear()} yılındayız.`;
}
console.log(selamla("Ayşe", new Date(2026, 10, 5)));
// Merhaba Ayşe, bugün 2026 yılındayız.2. Günlük tipler ve katılık ayarları
İkinci adımda string, number, boolean, diziler ve nesne tipleriyle çalışırsınız: TypeScript temel tipler. Bu noktada strict modu yazısını da okuyun; TypeScript 6.0 ile strict varsayılan olarak açık geldiği için gördüğünüz hataların çoğu bu ailedeki kontrollerden gelir.
3. Tip sistemi ve tip manipülasyonu
Union tipleri, daraltma ve fonksiyon tipleri tip sisteminin gövdesidir. Bunlar oturduktan sonra generics ile başlayan "tiplerden tip üretme" bölümüne geçin. Bu bölümün ileri örnekleri için TypeScript ileri seviye yazımız da elinizin altında olsun.
4. Proje düzeyi
Son aşamada derleyici ayarları, modül çözümleme, Node.js ile kullanım ve mevcut bir JavaScript projesini taşıma gibi konulara geçersiniz. Sürüm notları da burada önem kazanır: 6.0 birçok varsayılanı değiştirdi ve bazı eski ayarları kullanımdan kaldırdı.
Konu haritası
Serinin bütün yazıları aşağıda gruplanmıştır. Her yazı tek bir konuya odaklanır ve kodları TypeScript 6.0 derleyicisiyle denenmiştir.
Başlangıç
- TypeScript nedir, JavaScript'ten farkı ne?: statik tip denetimi, tiplerin silinmesi, yapısal tipleme.
- TypeScript kurulumu ve tsc komutu: npm ile kurulum, tsc --init, watch ve noEmit.
- tsconfig.json rehberi: compilerOptions, include/exclude, extends ve önemli ayarlar.
- TypeScript strict modu: strict ailesindeki bayraklar ve geçiş ipuçları.
- TypeScript temel tipler: ilkel tipler, diziler, nesne tipleri, çıkarım.
Tip sistemi
- interface ve type farkı
- Union ve intersection tipleri
- Narrowing ve type guard
- Literal tipler ve as const
- any, unknown ve never
- Fonksiyon tipleri ve overload
Tip manipülasyonu
- Generics
- Utility tipleri: Partial, Pick, Omit ve diğerleri
- keyof, typeof ve indexed access tipleri
- Conditional tipler ve infer
- Mapped tipler
- Template literal tipler
Dil özellikleri
- Sınıflar ve erişim belirleyiciler
- Enum ve alternatifleri
- Dekoratörler
- Modül çözümleme: ESM ve CommonJS
- Declaration dosyaları (.d.ts)
- satisfies operatörü
Proje ve yapılandırma
- target ve lib ayarları
- paths ile import alias tanımlama
- Project references
- JavaScript projesini TypeScript'e geçirme
- TypeScript'i Node.js ile kullanma
- Sık görülen TypeScript hataları (TS2322 ve diğerleri)
Sürümler ve özel konular
Kodu nerede deneyeceksiniz?
İki yol var. Birincisi tarayıcıdaki resmî Playground: kurulum gerektirmez, yazdığınız kodun JavaScript çıktısını ve hataları anında gösterir. İkincisi kendi bilgisayarınızda tsc: projeye typescript paketini ekler, npx tsc ile derlersiniz. Gerçek projelerde ikinci yol şarttır, çünkü tsconfig ayarları, modül yapısı ve @types paketleri ancak orada devreye girer.
Öğrenirken editörünüzün sunduğu ipuçlarını da kullanın. TypeScript yalnızca hata bulmaz; tip bilgisini otomatik tamamlama, tanıma gitme, yeniden adlandırma ve hızlı düzeltme özelliklerine de dönüştürür. Bir değişkenin üzerine geldiğinizde gördüğünüz tip, derleyicinin o noktada ne düşündüğünü gösterir ve öğrenmenin en hızlı yoludur.
Sık yapılan öğrenme hataları

- JavaScript'i atlamak: TypeScript'te bir listeyi nasıl sıralayacağınız, JavaScript'te nasıl sıraladığınızla aynıdır. Çalışma zamanı sorularında JavaScript kaynakları geçerlidir.
- Her yere tip yazmak: Derleyici çoğu tipi kendisi çıkarır. Handbook, başlangıçta düşündüğünüzden daha az tip ek açıklaması kullanmayı önerir.
- any ile hatayı susturmak: any, o değer için tip denetimini tamamen kapatır. Bunun yerine unknown ve daraltma kullanın.
- Eski varsayılanlara güvenmek: İnternetteki birçok örnek TypeScript 5.x ve öncesine göre yazılmıştır. 6.0'da strict, target, module ve types varsayılanları değişti; ayrıntı için TypeScript 6.0 yenilikleri yazısına bakın.
Sık Sorulan Sorular
TypeScript öğrenmeden önce JavaScript bilmem gerekir mi?
Evet. Resmî belgeler TypeScript'i JavaScript'in çalışma zamanı artı derleme zamanında çalışan bir tip denetleyicisi olarak tanımlar. Sözdiziminin ve davranışın büyük kısmı JavaScript'ten gelir; JavaScript'te öğrendiğiniz her şey doğrudan TypeScript'te de geçerlidir.
Handbook'u baştan sona okumak ne kadar sürer?
Handbook kendisini birkaç saatte rahatça okunabilecek kısa bir belge olarak tanımlar. Örnekleri kendiniz yazıp denediğinizde süre uzar ama kalıcılık artar. Referans sayfalarını ise ihtiyaç duydukça açmanız yeterlidir.
Hangi TypeScript sürümüyle başlamalıyım?
Yeni bir projeye en güncel kararlı sürümle başlayın. Bu serideki örnekler TypeScript 6.0 ile denendi. 6.0, yerel (native) derleyiciye geçecek olan 7.0 için bir geçiş sürümü olarak tanımlanıyor; 6.0'da kullanımdan kaldırılan ayarlar 7.0'da tamamen kaldırılacak.
İleri konulara ne zaman geçmeliyim?
Union tiplerini, daraltmayı ve generic fonksiyonları rahatça okuyup yazabildiğinizde. Conditional ve mapped tipler bu temelin üzerine kurulur; temeli atlarsanız örnekleri ezberlemek zorunda kalırsınız.
Marka adları sahiplerine aittir. Bu yazı bağımsız bir teknik rehberdir; adı geçen kuruluşlarla bayilik veya ortaklık ilişkisi bulunduğu anlamına gelmez.
İlgili içerikler: JavaScript öğrenme rehberi · TypeScript nedir · TypeScript kurulumu · TypeScript ileri seviye · Node.js nedir