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?