CodeBlanks Logo Icon CodeBlanks

const ile let arasındaki fark

JavaScript kursu · Başlangıç · Ders 2/133

Yeniden atama ve değiştirilemezlik (immutability) kavramlarını öğrenirsin.

Yeniden atama

Bir değişkene sonradan yeni değer vermek yeniden atama (reassignment) olarak bilinir. let ile tanımlanan değişken yeniden atanabilir; const ile tanımlanan atanamaz.

Örneğin let puan = 50; yazdıktan sonra puan = 75; diyebilirsin; puan artık 75 olur. Yeniden atarken let yazılmaz; yalnızca değişken adı, = ve yeni değer yazılır.

const'a yeniden atama hatası

const ile tanımladığın değişkene sonra yeni değer atamaya çalışırsan JavaScript bir TypeError fırlatır ve kod durur. Bu, değiştirilemezlik (immutability) olarak bilinir: const değerine bir kez bağlanır ve bu bağ koparılamaz.

Örneğin const fiyat = 100; satırından sonra fiyat = 120; yazarsan TypeError alırsın. Hata mesajı genellikle Assignment to constant variable şeklindedir. Bu yüzden const seçerken değerin gerçekten sabit olduğundan emin ol.

Hangi durumda let, hangi durumda const?

Değerin değişmeyeceğinden eminsen const kullan: pi, dogumYili, ulkeKodu gibi sabitler. Değerin değişebileceğini düşünüyorsan let kullan: puan, sicaklik, sayaç gibi.

Bu ayrım kodu okuyan kişiye ipucu verir. const gördüğünde o değerin sonuna kadar aynı kalacağını bilirsin; let gördüğünde ise ileride değişebileceğini bilirsin. Bu yüzden yeni JavaScript kodlarında var yerine önce const, gerekirse let tercih edilir.

Uygulama puan değişkenini tanımla, yeniden ata, yazdır

Bir puan değişkenini let ile tanımla ve ilk değer ver (örnek: 50). Sonra puan'a yeni bir değer ata (örnek: 75). Son olarak console.log ile puan'ı ekrana yazdır.

Örnek çözümü göster
let puan = 50;
puan = 75;
console.log(puan);

Kendini test et

  1. puan değişkenine yeni değer ata

    let puan = 50;
    ____
    console.log(puan); // 75 yazar
    Cevabı göster
    let puan = 50;
    puan = 75;
    console.log(puan); // 75 yazar
  2. Aşağıdaki kodlardan hangisi TypeError verir?

    • const fiyat = 100; fiyat = 120;
    • let fiyat = 100; fiyat = 120;
    • let ad = "Ayşe"; console.log(ad);
    • const sehir = "İzmir"; console.log(sehir);
    Cevabı göster

    const fiyat = 100; fiyat = 120; — Doğru. const ile tanımlanan fiyata sonra yeni değer atanamaz; TypeError verir.

  3. Kullanımı uygun anahtarla eşleştir

    Sayaç
    let (her adımda artar)
    PI sabiti
    const (sabit kalır)
    Anlık sıcaklık
    let (güncellenir)
    Doğum yılı
    const (atanamaz)

Başlangıç bölümündeki tüm dersler