Değişken tanımlamaları ve geçerlilik durumları


        JavaScript dilinde değişkenleri tanımlarken var ya da let tanımlayıcıları kullanılır. Aralarındaki en temel fark değişkenin geçerlilik durumudur. let ile tanımlanan değişken sadece ve sadece tanımlandığı blok (for, while vb.) içerisinde geçerlidir. var ile tanımlanan değişkenler ise tanımlandıkları yere göre geçerlilik kazanırlar. Örneğin bir fonksiyon içerisinde kullanılmışsa sadece o fonksiyonda, tüm fonksiyon tanımlamalarından önce kullanılmışsa bu durumda daha genel olarak tüm fonksiyonlarda kullanılabilirler. Aşağıda var ve let kullanılarak yapılmış değişik değişken tanımlamalarıa yer verilmiştir.

<script language="javascript" type="text/javascript">
    //tum fonksiyonlarda gecerli tamsayı deger saklayan degisken
    var sayici=0;   
    function arttir(){
        //sayici degiskeninin degeri 10 arttiriliyor
        sayici+=10;
        console.log("sayici="+ sayici.toString());
    }//end of arttir
    function azalt(){
        //sayici degiskeninin degeri 5 azaltiliyor
        sayici-=5;
        console.log("sayici="+ sayici.toString());
    }//end of azalt
    function listele(){
        //sadece listele fonskiyonunda gecerli degisken
        var adres="http://www.bilalsert.com.tr";
        console.log("web adresi = " + adres);
        //let ile sadece for dongusunde kullanilan bir degisken (i) tanimlaniyor
        //harf harf adres bilgisi yazdiliyor.
        for(let i=0;i<adres.length;i++)
            console.log(i.toString() + ". harf = " + adres.charAt(i));
    }//end of listele
    //arttir cagriliyor
    arttir();
    //azalt cagriliyor
    azalt();
    //listele cagriliyor
    listele();
< /script>

Verilen kodlar çalıştırıldığında aşağıdaki resimde verildiği üzere konsol çıktısı alınacaktır. Buradan da görüldüğü üzere sayici global bir değişken iken adres sadece listele(); fonksiyonunda geçerli bir değişkendir. i ise sadece ve sadece for döngüsünde geçerli bir değişken olup döngü tamamlandığında kullanılamayacaktır.

-