Skip to main content
Web Geliştirme

TypeScript Nedir? JavaScript'ten Farkları

Mart 15, 2026 4 dk okuma 12 views Raw
TypeScript programlama ve kod ekranı görseli
İçindekiler

TypeScript Nedir?

TypeScript, Microsoft tarafından geliştirilen ve JavaScript'in üzerine statik tip sistemi ekleyen açık kaynaklı bir programlama dilidir. TypeScript kodu, tarayıcılar ve Node.js tarafından doğrudan çalıştırılamaz; önce JavaScript'e derlenir (transpile). Bu nedenle TypeScript, JavaScript'in bir "süper seti" olarak tanımlanır — her geçerli JavaScript kodu aynı zamanda geçerli bir TypeScript kodudur.

2012'de piyasaya sürülen TypeScript, günümüzde büyük ölçekli JavaScript projelerinin fiili standardı hâline gelmiştir. Angular, Vue 3 ve birçok modern framework varsayılan olarak TypeScript kullanmaktadır.

TypeScript vs JavaScript: Temel Farklar

ÖzellikJavaScriptTypeScript
Tip SistemiDinamik (runtime'da kontrol)Statik (derleme zamanında kontrol)
Hata TespitiÇalışma zamanındaDerleme zamanında
IDE DesteğiSınırlı otomatik tamamlamaGüçlü IntelliSense ve refactoring
Öğrenme EğrisiDüşükOrta (tip sistemi öğrenme)
Tarayıcı DesteğiDoğrudan çalışırJavaScript'e derlenmesi gerekir
Büyük ProjelerBakımı zorlaşabilirSürdürülebilir ve güvenli

TypeScript'in Temel Özellikleri

Statik Tip Sistemi

TypeScript'in en önemli özelliği statik tip sistemidir. Değişkenlerin, fonksiyon parametrelerinin ve dönüş değerlerinin tiplerini tanımlayarak, hataları kod yazım aşamasında yakalarsınız. Bu, çalışma zamanı hatalarını önemli ölçüde azaltır.

Tip Çıkarımı (Type Inference)

TypeScript, her yere tip yazmanızı gerektirmez. Bağlamdan tipleri otomatik olarak çıkarabilir. Bu özellik, tip güvenliğinden ödün vermeden daha az kod yazmanızı sağlar.

Interface ve Type

Interface'ler ve type alias'ları, nesnelerin şeklini tanımlamanıza olanak tanır. Bu, API yanıtları, veritabanı modelleri ve bileşen prop'ları gibi yapıların belgelenmesini ve doğrulanmasını sağlar.

Generics

Generics, tip güvenliğini koruyarak yeniden kullanılabilir bileşenler oluşturmanızı sağlar. Fonksiyonlar, sınıflar ve interface'ler parametrik tipler alabilir.

Enum'lar

Sabit değer kümelerini tanımlamak için enum'lar kullanılır. Kodun okunabilirliğini artırır ve sihirli sayıları (magic numbers) ortadan kaldırır.

Union ve Intersection Tipleri

Union tipleri bir değerin birden fazla tipten biri olabileceğini belirtir. Intersection tipleri ise birden fazla tipi birleştirir. Bu özellikler, karmaşık veri yapılarını esnek bir şekilde modellemenizi sağlar.

TypeScript Kullanmanın Avantajları

Erken Hata Tespiti

Tip hataları, kod editöründe kırmızı alt çizgilerle anında görünür. Değişken adı yazım hataları, yanlış parametre tipleri ve eksik özellikler daha kodu çalıştırmadan tespit edilir.

Gelişmiş IDE Desteği

Visual Studio Code başta olmak üzere modern editörler, TypeScript ile mükemmel bir deneyim sunar. Otomatik tamamlama, parametre ipuçları, güvenli yeniden adlandırma ve otomatik import gibi özellikler geliştirme hızını artırır.

Daha İyi Dokümantasyon

Tip tanımları, kodun kendi kendini belgelemesini sağlar. Bir fonksiyonun hangi parametreleri aldığını ve ne döndürdüğünü tip tanımlarından anlayabilirsiniz. Bu, ekip içi işbirliğini kolaylaştırır.

Güvenli Refactoring

Büyük kod değişiklikleri sırasında tip sistemi güvenlik ağı görevi görür. Bir arayüzü değiştirdiğinizde, etkilenen tüm kodlar derleyici tarafından işaretlenir.

TypeScript Projesi Başlatma

Kurulum ve Konfigürasyon

TypeScript projesini başlatmak için Node.js ve npm gereklidir. TypeScript derleyicisi npm üzerinden kurulur. tsconfig.json dosyası, projenin derleme ayarlarını içerir: hedef JavaScript sürümü, modül sistemi, katılık seviyesi ve dosya dahil etme/hariç tutma kuralları bu dosyada yapılandırılır.

Katılık Seviyeleri

tsconfig.json'daki strict seçeneği, tüm katı tip kontrollerini etkinleştirir. Yeni projelerde strict modunu açmanız önerilir. Mevcut JavaScript projelerini TypeScript'e taşırken, katılık seviyesini kademeli olarak artırabilirsiniz.

TypeScript Ekosistemi

Frontend Framework'leri

  • React: TypeScript ile mükemmel uyum. JSX tipleri ve hook tipleri tam destek sunar.
  • Angular: Varsayılan olarak TypeScript kullanır. Dekoratörler ve tip güvenli dependency injection sunar.
  • Vue 3: Composition API ile TypeScript desteği büyük ölçüde iyileştirilmiştir.

Backend Framework'leri

  • NestJS: Angular'dan ilham alan, TypeScript tabanlı backend framework'üdür.
  • Express + TypeScript: @types/express ile tip güvenli Express uygulamaları oluşturulabilir.
  • Fastify: TypeScript desteği yerleşik olarak sunulur.

DefinitelyTyped

JavaScript kütüphaneleri için topluluk tarafından oluşturulan tip tanımlarının bulunduğu devasa bir depodur. @types/ prefix'i ile npm üzerinden kurulabilir.

JavaScript'ten TypeScript'e Geçiş

  1. Kademeli geçiş yapın: Tüm projeyi bir anda dönüştürmeye çalışmayın
  2. allowJs seçeneğini kullanın: TypeScript ve JavaScript dosyalarının bir arada çalışmasını sağlayın
  3. any tipinden kaçının: Mümkün olduğunca spesifik tipler kullanın
  4. Önce tip tanımlarını ekleyin: İşlevselliği değiştirmeden tipleri ekleyin
  5. Katılığı kademeli artırın: strict modunu aşama aşama etkinleştirin

Ekolsoft, projelerinde TypeScript kullanarak tip güvenli, bakımı kolay ve ölçeklenebilir web uygulamaları geliştirmektedir.

Sonuç

TypeScript, JavaScript'in güçlü yönlerini koruyarak statik tip güvenliği ekleyen modern bir programlama dilidir. Büyük projelerde hata oranını düşürür, geliştirme deneyimini iyileştirir ve ekip içi işbirliğini güçlendirir. JavaScript bilgisine sahipseniz, TypeScript'e geçiş kariyer ve proje kalitesi açısından değerli bir yatırımdır.

Bu yazıyı paylaş