İletişim

TypeScript Nedir?

Kısa tanım

TypeScript, Microsoft'un geliştirdiği ve JavaScript'e statik tip sistemi ekleyen açık kaynak programlama dilidir. Sözdizimi JavaScript'in bir üst kümesidir; tip açıklamaları derleme ya da tip temizleme aşamasında kaldırılır ve tarayıcıda veya sunucuda yine düz JavaScript çalışır. Amacı, hataların bir kısmını kod çalışmadan önce yakalamak ve büyük kod tabanlarında otomatik tamamlama ile güvenli yeniden düzenleme imkânı sağlamaktır.

Diğer adları: TS, TypeScript dili, tsc

TypeScript tür tanımındaki bir hatanın derleme sırasında tsc tarafından yakalandığını ve türleri silinmiş JavaScript çıktısını gösteren diyagram

Tipler yalnızca derleme anında yaşar

TypeScript'te değişkenlerin, fonksiyon parametrelerinin ve dönüş değerlerinin şeklini yazarsınız; derleyici kodun bu sözleşmeye uyup uymadığını kontrol eder. Kod çalışmadan önce "bu alan undefined olabilir" veya "bu fonksiyon string bekliyor, sayı verdin" türünden hatalar yakalanır.

interface Siparis {
  id: string;
  tutar: number;
  kupon?: string;
}

function toplam(s: Siparis): number {
  return s.tutar - (s.kupon ? 50 : 0);
}

toplam({ id: "A1", tutar: "120" });
// Hata: 'string' türü 'number' türüne atanamaz

Kritik nokta şudur: tip bilgisi derlendikten sonra tamamen silinir. Çalışma anında Siparis diye bir şey yoktur. Bir API'den gelen JSON'ın gerçekten beklenen şekilde olduğunu TypeScript garanti edemez; ona yalnızca "öyle olduğunu varsay" demiş olursunuz. Dış kaynaktan gelen veri (API yanıtı, form girdisi, ortam değişkeni) çalışma anında ayrıca doğrulanmalıdır.

TypeScript kodunu çalıştırmanın yolları

  • Resmî derleyici (tsc): tipleri kontrol eder ve JavaScript üretir. Tip kontrolünün asıl yeri burasıdır.
  • Paketleyiciler ve dönüştürücüler: esbuild, SWC veya Babel gibi araçlar tipleri çok hızlı biçimde siler ama kontrol etmez. Bu yüzden projelerde tip kontrolü genellikle build sürecinde veya CI'da ayrı bir adım olarak çalıştırılır.
  • Node.js'te doğrudan çalıştırma: Node.js, v22.18.0 ve v23.6.0 sürümlerinden itibaren .ts dosyalarındaki tipleri varsayılan olarak siler; özellik v24.12.0 ve v25.2.0 ile kararlı hâle geldi. Bu mod tip kontrolü yapmaz ve yalnızca silinebilir sözdizimini destekler: enum veya çalışma anı kodu içeren namespace gibi kod üretimi gerektiren yapılar hata verir. Güncel ayrıntılar Node.js dokümantasyonunda.

TypeScript 7 ve yerel derleyici

Microsoft, derleyiciyi TypeScript ile yazılmış hâlinden Go diline taşıdı ve 8 Temmuz 2026'da TypeScript 7'yi yayımladı. Duyuruya göre tam derlemelerde tipik hızlanma 8 ile 12 kat arasında. Dil kuralları değişmedi; değişen, büyük kod tabanlarında tip kontrolünün ve editör desteğinin hızı. Uzun tip kontrolü sürelerinden ötürü kontrolü atlayan ekipler için bu, pratik bir fark yaratır.

Ne zaman değer katar, ne zaman yük olur?

Birden fazla geliştiricinin yıllarca dokunacağı bir uygulamada, özellikle frontend ile backend arasında paylaşılan veri modelleri olduğunda, TypeScript'in getirisi yüksektir: bir alanın adını değiştirdiğinizde etkilenen her yer derleme hatası olarak önünüze gelir. Bedeli de vardır: ek bir derleme adımı, öğrenme eğrisi ve okunması zor tip tanımlarına kayma riski. any kullanımı kontrolü sessizce kapatır; sıkça başvurulan bir kaçış yolu, tip güvenliğinin göründüğünden zayıf olduğunu gösterir.

Tipler testlerin yerini de tutmaz. Derleyici bir fonksiyonun sayı döndürdüğünü doğrular, doğru sayıyı döndürdüğünü değil; iş kuralları için birim testleri gerekmeye devam eder. Birkaç satırlık bir betik veya kısa ömürlü bir prototip için düz JavaScript çoğu zaman yeterlidir.

İlgili terimler

← Sözlüğe dön