TypeScript, JavaScript’in daha güvenli ve kurallı bir versiyonudur. TypeScript kullanmanın en büyük avantajlarından biri, değişkenlerin türlerini belirleyerek yazılımcıya hataları erken aşamada göstermesidir. Bu sayede daha sağlam ve anlaşılır kodlar yazmak mümkün olur.
Bu yazıda TypeScript’in temel veri tiplerini, bunların nasıl kullanıldığını ve bazı özel durumları ele alacağız.
1. Temel Veri Tipleri: number, string, boolean
TypeScript’in en temel veri tipleri sayı (number), metin (string) ve mantıksal (boolean) değerlerdir.
number
: Tüm sayısal değerleri temsil eder.
let yas: number = 18;
let fiyat: number = 199.99;
string
: Tüm metinsel ifadeler için kullanılır.
let isim: string = "Ali";
let mesaj: string = "Merhaba dünya";
boolean
: Doğru veya yanlış değerleri temsil eder.
let aktifMi: boolean = true;
let girisYapildiMi: boolean = false;
Bu türleri belirtmek, değişkenlerin ne amaçla kullanılacağını daha net hale getirir ve yanlışlıkla farklı türden veri atamanın önüne geçer.
2. Type Inference (Tür Çıkarımı)
TypeScript’te her zaman veri tipi belirtmek zorunda değilsiniz. Eğer bir değişken tanımlanırken başlangıç değeri verilmişse, TypeScript otomatik olarak bu değişkenin türünü algılar. Buna tür çıkarımı (type inference) denir.
let sehir = "Ankara"; // string olarak algılanır
let sayi = 5; // number olarak algılanır
Ancak bir değişkene başlangıçta değer verilmezse, varsayılan olarak any
tipi kabul edilir. Bu da veri güvenliğini zayıflatır.
3. any Tipi ve Kullanım Riskleri
any
, TypeScript’in en esnek ancak en tehlikeli veri tipidir. Bu tipteki bir değişken her türden veri alabilir.
let veri: any = 10;
veri = "metin";
veri = true;
any
tipi hata kontrolünü devre dışı bırakır. Bu yüzden mümkün olduğunca kaçınılmalıdır. Ancak bazı durumlarda, özellikle dış kaynaklardan veri alındığında geçici olarak kullanılabilir.
4. Diziler (Arrays) ve Tip Belirleme
Dizi (array), aynı türden birden fazla veriyi tek bir değişkende saklamak için kullanılır. TypeScript’te dizinin içindeki öğelerin türü belirtilmelidir.
let notlar: number[] = [85, 90, 100];
let isimler: string[] = ["Ahmet", "Zeynep", "Mert"];
Eğer boş bir dizi oluşturulacaksa da tipi mutlaka belirtilmelidir:
let urunler: string[] = [];
Aksi halde any[]
olur ve her türden veri eklenebilir, bu da güvenliği azaltır.
5. Tuples (Sabit Uzunluklu Diziler)
Tuple, sabit uzunlukta ve her öğesi belirli bir türde olan dizidir. Genellikle iki veya üç öğeli özel yapılar için kullanılır.
let kullanici: [number, string] = [1, "Ece"];
Bu örnekte, ilk değer bir sayı, ikinci değer bir metin olmalıdır. Aksi takdirde TypeScript hata verir. Tuple yapıları özellikle veritabanı kayıtları gibi sabit yapılar için uygundur.
6. Enum (Sabit Değer Listesi)
Enum, sınırlı sayıda sabit değeri tanımlamak için kullanılır. Bir ürünün durumu, kullanıcı rolleri veya t-shirt bedenleri gibi sabit seçenekler enum ile daha güvenli şekilde temsil edilebilir.
enum Renk {
Kirmizi,
Yesil,
Mavi
}
let seciliRenk: Renk = Renk.Yesil;
Varsayılan olarak enum elemanlarına 0’dan başlayarak otomatik sayı atanır. Ancak istenirse manuel değerler de verilebilir:
enum Roller {
Ogrenci = "ogrenci",
Ogretmen = "ogretmen"
}
Bu kullanım, sabit metinler yerine hatasız ve düzenli yapı sağlar.
Sonuç
TypeScript ile çalışırken değişkenlerin türlerini doğru tanımlamak, programın daha güvenli ve anlaşılır olmasını sağlar. number
, string
, boolean
gibi temel tiplerin yanı sıra, diziler, tuples ve enums gibi yapılar da projeyi organize etmeye yardımcı olur.
Ayrıca any
tipi gibi esnek yapılar, doğru yerde ve dikkatli kullanılmalıdır. TypeScript’in sunduğu bu güçlü tip sistemi, büyük projelerde oluşabilecek hataları daha kod çalışmadan önce fark etmene olanak tanır.