Basit & Özel Tipler

Basit & Özel Tipler: TypeScript, JavaScript'in her değişkenine bir etiket asılmış hali — 'bu kutu sadece sayı içerir' etiketi gibi, yanlış bir şey koymaya çalıştığınızda kutu kap

TypeScript, JavaScript'in her değişkenine bir etiket asılmış hali — 'bu kutu sadece sayı içerir' etiketi gibi, yanlış bir şey koymaya çalıştığınızda kutu kapanmadan (derleme anında) uyarı alırsınız. Peki number, string gibi basit tipler bu kadar sezgiselse, neden ayrıca öğrenmeye değer bir konu olsun? Çünkü asıl güç tek bir değişkende değil, bu basit tiplerin fonksiyon parametrelerine, dönüş değerlerine ve nesne alanlarına tutarlı şekilde yayılmasındadır — Java'da bu zaten `int`, `String`, `boolean` ile doğuştan vardı, TypeScript aynı disiplini opsiyonel olan JavaScript'e sonradan ekliyor. QA'da fark şuradadır: plain JavaScript'te bir test fonksiyonuna `25` string'ini yaş olarak geçtiğinizde fonksiyon sessizce yanlış matematik yapar (`25 + 5` sayı toplaması yerine string birleştirip `255` üretir); basit tipleri doğru kullanan TypeScript kodu bu hatayı IDE'de anında, testi hiç çalıştırmadan gösterir.

Java'da her değişkenin tipi açıkça belirtilir: int x = 5; String name = 'Ali'. TypeScript'te aynı şey: let x: number = 5; let name: string = 'Ali'. Fark: TypeScript genellikle tipi otomatik çıkarabilir (type inference) — her yere yazmak zorunda değilsin.

Micro Lab: TypeScript kod yazma

TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.

Temel tip sistemi nasıl çalışır

let age: number = 25 — iki nokta üst üste ile tipi açıkça belirtirsin

let city = 'Istanbul' — TypeScript string olduğunu otomatik anlar

let x: any açık tipin tüm avantajlarını iptal eder — production'da kullanma

TypeScript'te bir değişken tanımlarken en iyi pratik sırasını seç:

Değişkenin ne için kullanılacağını anla

En spesifik tipi seç (string, number...)

Tip çıkarımı yeterliyse anotasyonu atla

any kullanmak zorunda kalıyorsan yorum yaz

TypeScript'te let city = 'Istanbul' yazıldığında TypeScript bu değişkene hangi tipi atar?