let ile Değişken Deklare Etme

İlk deklaratif sözcüğümüz 'let' sözcüğüdür. Örnek:

// dil adında bir değişken oluşturalım
"use strict" ;
let dil; //bildiridik, bellekte yerini aldı.
dil = 'JavaScript'; //bildirdikten sonra değer atadık.

// uzanti adında bir değişken oluşturalım
let uzanti = '.js'; //hem bildirdik, hem de değerini aynı satırda atadık.

// kullanimAlani ve sonSurum adında bir değişken oluşturalım.
let kullanimAlani = 'Web Geliştirme', sonSurum = 'ES13';

let ile bildirilen bir değişken bildirimden sonra kullanılmalıdır. Bildirimden önce kullanılırsa hata fırlatılır. Deneyiniz.

//Yanlış bildirim ve kullanım. Hata fırlatılır.
"use strict" ;
dil = 'Javascript';
let dil;

Bir kapsamda let ile bildirilen bir değişken ismi aynı kapsamda yeniden bildirilemez. Javascript'te her süslü parantezin başı ve sonu bir bloktur ve her blok bir kapsamı belirtir. Bloklar ve kapsamlar bir sonraki konuda 'Kapsamlar ve Geçerlilik' olarak işlenecektir. Şimdilik şunu bilmeniz yeterlidir. Örnek olarak.

// Burası ana kapsam
// kodlar
// kodlar
{
    // Yeni blok başladı. Burası farklı bir kapsam
    //kodlar
    // Bir satır sonra bu blok ve kapsam bitiyor
}
// Burası tekrar ana kapsam
{
    // Başka yeni bir blok başladı. Burası daha da farklı bir kapsam.
    //kodlar
    // Bir satır sonra bu blok ve kapsam da bitiyor.
}
// Burası da tekrar ana kapsam

Bundan sonraki kodlarda "use strict"; yazılmayacaktır. Bunun zaten kodun en başında belirtildiğini varsayıyorum.

Bir kapsamda aynı değişken ismi let ile birden fazla bildirilemez. Bir kez bildirdikten sonra bellekte yer alan değişkeni doğrudan değişken adı ile kullanabilirsiniz. Örnek.

let isim;
isim = 'JavaScript';
let isim = 'Programlama Dili'; // bu satır hataya sebep olur
{
    let tur;
    tur = 'Web Geliştirme';
    let tur = 'Betik Dili'; // bu satır hataya sebep olur
}

Fakat farklı kapsamlarda aynı değişken ismini let ile deklare edip birbirinden farklı bellek birimi olarak kullanabilirsiniz. Her kapsam kendi bloğunda deklare edilen değişkenin değerini esas alır. Deneyiniz.

let isim = 'Script';
{
    let isim = 'Java';
    alert(isim); // İlk bu satır çalışır. Alt kapsam için isim: 'Java'
}
alert(isim); // Sonra bu satır çalışır. Üst kapsam için isim: 'Script'

Yukarıdaki örnekte farklı kapsamlarda fakat aynı isimde olan değişkenler, bellekte farklı birimlerde yer alır. Dolayısıyla her kapsam kendine ait olan değişkenin bellekteki değerini referans alır.

Tek bildirimde birden fazla değişken bildirebilirsiniz. Bildirirken değerlerini de atayabilirsiniz. Örnekler:

let isim, soyisim; // Sadece bildirdik.
let dogumYeri = 'Malatya', // bildirirken değer atadık.
    yas = 38, // Bildirirken değer atadık.
    kilo = 90, // Bildirirken değer atadık.
    boy = 180; // Bildirirken değer atadık.

Last updated