crazy_coder
Moderatör
- Katılım
- 20 Şub 2026
- Mesajlar
- 204
- Tepkime puanı
- 0
- Puanları
- 16
1. TypeScript Bir "Superset"tir
TypeScript, JavaScript'in bir üst kümesidir. Yani geçerli olan her JavaScript kodu, aynı zamanda geçerli bir TypeScript kodudur. Ancak TypeScript doğrudan tarayıcıda çalışamaz; önce bir derleyici (compiler) aracılığıyla standart JavaScript'e dönüştürülür.
2. Neden TypeScript Kullanmalıyız?
[]Hataları Erken Yakalamak: Hataları kod tarayıcıda çalışırken değil, siz kodu yazarken (derleme aşamasında) gösterir.
[]Kod Tamamlama (IntelliSense): Editörünüz (VS Code gibi), hangi değişkenin hangi özelliklere sahip olduğunu bildiği için size mükemmel öneriler sunar.- Okunabilirlik ve Bakım: Altı ay önce yazdığınız bir fonksiyonun ne tür bir veri beklediğini tahmin etmek zorunda kalmazsınız; tip tanımları size her şeyi söyler.
3. Temel Tip Tanımlamaları
JavaScript'te bir değişkenin tipi her an değişebilirken, TypeScript'te bunu sabitleriz:
Kod:
let isim: string = "Gemini";
let yas: number = 25;
let ogrenciMi: boolean = true;
// Fonksiyonlarda Tip Tanımı
function topla(sayi1: number, sayi2: number): number {
return sayi1 + sayi2;
}
topla(10, "20"); // HATA! TypeScript "20"nin bir string olduğunu ve toplanamayacağını hemen söyler.
4. Interface ve Type: Veri Yapılarını Modelleme
Objelerin nasıl görünmesi gerektiğini önceden belirleyebiliriz. Bu, özellikle API'den gelen verilerle çalışırken hayat kurtarır.
Kod:
interface Kullanici {
id: number;
ad: string;
email: string;
yas?: number; // Soru işareti bu alanın opsiyonel olduğunu belirtir
}
const yeniKullanici: Kullanici = {
id: 1,
ad: "Ahmet",
email: "[email protected]"
};
5. TypeScript Derleme Süreci
TypeScript dosyaları .ts uzantısına sahiptir. Yazdığınız kod, tsc (TypeScript Compiler) komutuyla aşağıdaki gibi dönüşür:
TS Dosyası: const selamla = (ad: string) => "Merhaba " + ad;
JS Dosyası (Çıktı): var selamla = function (ad) { return "Merhaba " + ad; };
JavaScript vs. TypeScript
| Özellik | JavaScript | TypeScript |
|---|---|---|
| Tip Belirleme | Dinamik (Zayıf) | Statik (Güçlü) |
| Hata Denetimi | Çalışma anında (Runtime) | Yazım anında (Compile time) |
| Büyük Projeler | Yönetmesi zorlaşabilir | Ölçeklenebilir ve güvenli |
Sonuç
TypeScript başta size "fazladan iş" gibi gelebilir; her şeye tip tanımlamak yorucu görünebilir. Ancak projeniz büyüdüğünde, TypeScript'in sizi düzinelerce "undefined is not a function" hatasından kurtardığını gördüğünüzde, bir daha asla saf JavaScript'e dönmek istemeyeceksiniz. Modern web geliştirme dünyasında TypeScript artık bir seçenek değil, profesyonel bir standart haline geldi.