Değişkenler ve veri tipleri


          Tüm progamlama dillerinde programcılar işlemler yaparken kullanılan verileri, kullanıcının girdiği verileri vb. saklamak için bellek bölgesinde bazı alanlar kullanırlar. Bu alanlar tanımlamalarına göre veri saklarlar; sahip oldukları veriler program akışı içerisinde değişiklik gösterdiği için bu tür bellek bölgesi tanımlamalarına değişken denilir. Değişkenler birçok programlama dilinde kullanılmadan önce tanımlanmaları gerekir ki tanımalama ön deyimi olarak var ya da let kullanılabilir. Değişkenlerin tanımlama şekilleri ve onların geçerlilik durumlarını bir başka atölye işinde detayları ile işleyeceğiz lakin burada bilinmesi gereken iki nokta vardır:

  1. Değişkenin ismi ki bir takım kısıtlamalara tabidir.

    Şimdi değişkenlere isim verirken dikkat edeceğimiz konuları kısaca özetleyelim:

    1. Değişken isimleri alfa-nümerik bir karakter ile başlamalıdır.
      var 1.sinif; //hatalı bir kullanım rakam ile başlamış
      var sinif1; //Doğru kullanım
      var sinif_1; //Doğru kullanım;
    2. Değişken isimleri içersinde boşluk kullanılmamalıdır.
      var adi soyadi; //hatalı bir kullanım değişken adında boşluk kullanılmış
      var adiSoyadi; //Doğru kullanım
      var adi_Soyadi; //Doğru kullanım;
    3. Değişken isimlerinde +,-,*,/ vb. özel karakterler kullanılamaz.
      var adi-soyadi; //hatalı bir kullanım - operatörü kullanılmış
      var adi+soyadi; //hatalı bir kullanım + operatörü kullanılmış
    4. Değişken ismi olarak programlam dili için ayrılmış sözcükler if, else, while, for, var,let,switch vb.kullanılamaz.
      var if=100; //hatalı bir kullanım sistem için ayrılmış sözcük kullanılmış
      var switch="bilalsert.com.tr"; //hatalı bir kullanım +sistem için ayrılmış sözcük kullanılmış.
    5. Son olarak Türkçe karakterler kullanmayacağız ve isimlendirme yaparken aşağıdaki örneklerde olduğu gibi yöntem izleyeceğiz. Yani isimlendirmeye; İngilizce ve sayısal olmayan bir küçük karakter ile baslayacagiz ve sonrasinda iki ya da daha fazla sözcükten oluşan değişkenlerimizde her sözcüğü büyük harfle kodlayacağız. Elbette son tercik programcınındır uygulamalarda hatalı kodlamalar dikkate alınacaktır.
      //İzlenecek isimlendirme kuralına uygun bazı tanımlamalar
      var telNo="212.555.44.33";
      var yariCap=12;
      var mendeniHal=false;
      var webAdresi='www.bilalsert.com.tr';
      var parametre='?';
      var isikHizi=2.998e8;
  2. Saklayacağı veri türü

    Birçok programlama dilinde değişkenler kullanılmadan önce tanımlanmalıdır yani onlara birer isim verilirken saklayacakları veri tipleri/türleri de bu tanımalamada yazılmalıdır. Tüm bunların ötesinde bir değişkene tip tanımlaması yapıldıktan sonra kendisine bu veri tipinin dışında bir bilgi yüklenmek istendiğinde ise hata alıyor olmanızdır. Bu durum bazı programlama dilleri için geçerli değildir ki buna JavaScript de dahildir. Yani elbette tanımlama yapmak zorundasınız ama bir tip tanımlaması yapmasınız. Değişken tanımlanırken içerisine atanan değer onun tipini de belirler fakat program akışı içerisinde aynı değişkene farklı bir tipte değer atarsanız hata almazsınız. Bunu kontrol etmek tamamen sizin sorumluluğunuzdadır. Sayısal veri tiplerinde iki özel sayı vardır bunlar birincisi Infinity ve -Infinity (sonsuz ve eksi sonsuz) ve ikincisi NaN (Not a Number / Sayı değil) NaN her ne kadar sayısal bir işlemin sonucu olsa da anlamlı bir sonuç alınamadığında ele edilir. Misal 0/0 işlemini yaparsanız işlemde kullanılanlar sayısal veriler olmasına rağmen sayısal bir sonuç elde edemeyiz onun yerine NaN sonucu ortaya çıkar. Aşağıda kullanabileceğiz bazı sayısal veri türlerine örnekler verilmiştir.

    1. Sayısal veri (numbers) saklayan değişkenler
      var ilkDeger=100; //tamsayı tipinde bir değişken
      var katSayi=10.35; //Ondalıklı sayı tipinde bir değişken
      var maas=4.5e6; //4.500.000 ifade eden üstel tanımlama
       
    2. Sayısal olmayan (String) yani üzerinde herhangi bir matematik işlem yapılmayacak olan veriler. Bunları değişkenler aktarırken "" ya da '' karakterlerinden yararlanırız. TextArea gibi kontrollerde yeni satır tanımlaması için string tipindeki verilerde \n ifade kullanılabilir aslında \ operatörü string verilerde özel karakterlerin basılmasını sağlar. Ayrıca string verilerde + operatörü string verilerin birleştirilmesinde kullanılır.
      var adı="Linux 5.3.0-46"; //String veri
      var surum="19.3"; //String veri
      var sinifi="ATP-11A"; //String veri
      var kod="187"; //String veridir. console.log(typeof kod); çalıştırıldığında string çıktısı alınacaktır
      var islemler="Kaydet \n Kapat"; //Bu aşağıdaki gibi bir veri saklayacaktır
      Kaydet
      Kapat

      var "21' in 1/3' i " +(21/3) + "' e eşittir"; //String veri, çıktısı "21' in 1/3' i 7' e eşittir" olacaktır
       
    3. İki durumlu (Boolean) değişkenler. Bunlar doğru-yanlış, açık-kapalı, evet-hayır gibi sadece iki farklı durumu ifade eden veri türleridir. JavaScript için true ve false değerleri temel iki durumu ifade ederken; 3>2 true değerini, 3<2 falsedeğerini, "okul"!="üretken" truedeğerini,"istanbul" == "başkent" falsedeğerini üretecektir. Tüm bu bilgiler ışığında console.log(NaN == NaN); yazıp çalıştırıldığında hangi sonucu beklersiniz? (Çok ilginç değil mi?)
      var ilkDeger=100; //tamsayı tipinde bir değişken
      var katSayi=10.35; //Ondalıklı sayı tipinde bir değişken
      var maas=4.5e6; //4.500.000 ifade eden üstel tanımlama
       
    4. Boş değerler (Empty values)null ve undefined. Bunlar anlamlı bir verinin olmadığını ifade ederler. Kendileri de birer değerdir temelde ama bir bilgi içermezler. Bu ikisi arasındaki farkdan (ki JavaScript' in bir tasarım hatasıdır) ziyade sizin dikkat etmeniz gereken nokta; yaptığınız işlemin anlamlı veri içeren bir sonuç oluşturmadığıdır.