5. TypeScript – Değişkenler
Yeni başlayan arkadaşlar için tanımlamak gerekirse, TypeScript değişkenler en basit tabiri ile saklamanızı istediğiniz değerleri hafıza içerisinde tutmanızı sağlamaktadır.
Şimdi TypeScript içerisindeki değişken tanımı ile ilgili kurallara değinelim.
- Hem değişken hem de value setleyebilirsiniz.
var [identifier (değişken ismi)] : [type-annotation (değişken tipi)] = value (değer); - Value setlemeden değişken oluşturabilirsiniz. Bu durumda değeri undefined olarak setlenecektir.
var [identifier (değişken ismi)] : [type-annotation (değişken tipi)]; - Değişken tipi tanımlamadan oluşturabilirsiniz. Bu durumda değişkeniniz setlemiz olduğunuz değere göre oluşacaktır. Örneğin sayı setlemeniz durumda otomatik olarak değişken tipi number olarak kabul edilecektir.
var [identifier (değişken ismi)] = value (değer); - Herhangi bir value ya da type kullanmadan tanımlama yapabilirsiniz. Bu durumda value undefined değişken tipi ise any olarak atanacaktır.
var [identifier (değişken ismi)] ;
Örnek olarak;
var firstname:string="serdar"; var firstname:string; var firstname = "serdar"; var firstname;
TypeScript içerisinde tanımlamış olduğunuz değişken, kodunuz içerisinde herhangi bir değer setlemeniz durumda aynı tipte olmasına dikkat eder. Bu yüzden JavaScript gibi tanımlamış olduğunuz değişkene istediğiniz değeri setleyemezseniz. Setlemeniz durumda ise hata veripJavaScript’e compile etmeyecektir. Örneğin; number olarak tanımladığınız değişkene string bir değer vermeniz durumda yukarıda bahsettiğim durum ile karşılabilirsiniz.
var num:number = "hello" // Hatalı
TypeScript ve Type Assertion
Şimdi TypeScript içerisinde değişkenlerin değerlerini cast etme yani dönüştürme işlemine değinelim. TypeScript syntax içerisinde <> sembolüyle gerçekleştirebilirsiniz.
var str='1'; var str2:number=<number><any>str; console.log(str2);
Örneğin yukarıda görmüş olduğunuz kod örneğinde ilk olarak “str” adında bir değişken tanımlayıp içerisine ‘1’ değerini verdik. Dolayısıyla string bir değişken tanımladık. İkinci satırımızda ise cast işlemini gerçekleştiriyoruz. Bu kısımda string tanımladığımız değeri “str2” isimli değişkenimize number olarak setiyoruz.
TypeScript Değişken Scope (Kapsam) Kavramı
TypeScript scope kavramı aslında diğer bildiğimiz programlama dillerindeki ile aynı kavramda aslında fakat yeni başlayan arkadaşlarıda bilgilendirmek adına çok ufak ekleme gereği hissettim 🙂
Scope kavramı değişkeni tanımladığınız yer ile alakalı bir durumdur. Ve tanımlama yaptığınız yer içerisinde geçerlidir. Tanımlamış olduğunuz değişken tipi aşağıdakilerden birisine dahil olabilir.
- Global Scope, bu değişken kodunuzun herhangi bir yerinden erişilebilir.
- Class Scope, class içerisinden erişilen değişkenlerdir.
- Local Scope, Bu değişkenler method, döngüler vs gibi kısımlarda kullanılan değişkenlerdir.
var global_num=12; //genel değişken class Numbers { num_val=13; //sınıf değişkeni static sval=10; //static field storeNum():void { var local_num=14; //lokal değişken } } console.log("Genel num: "+global_num) console.log(Numbers.sval) //static variable var obj= new Numbers(); console.log("Genel num: "+obj.num_val)