CodeBlanks Logo Icon CodeBlanks

Block scope

JavaScript kursu · Orta seviye · Ders 9/134

let ve const ile blok kapsamlı değişken tanımlamayı ve var'dan farkını öğrenirsin.

Blok kapsam

Blok kapsam, bir { } bloğu içinde tanımlanan değişkenlerin yalnızca o blok içinde geçerli olmasıdır. let ve const blok kapsamlıdır; if, for ya da yalnızca { } içine yazdıkların blok dışından erişilemez.

Örneğin if (ready) { let status = 'aktif'; } yazdığında status yalnızca o if bloğu içinde yaşar. Bu, değişkenleri yalnızca ihtiyaç duydukları yerde tutmanın temiz yoludur.

var blok kapsam yapmaz

var ile tanımlanan değişkenler blok kapsamına girmez; bulundukları fonksiyonun tamamında yaşarlar. Yani bir if bloğu içinde var yazarsan, o değişken blok dışından da erişilebilir olur.

Bu eski davranış, bugün beklenmeyen hatalara yol açar. Bu yüzden modern kodda var yerine let ve const kullanılır. var'ı yalnızca eski kodları okurken görürsün.

Uygulama Blok kapsamlı değişkeni kullan

checkStock(count) adında bir fonksiyon tanımla. if (count > 0) bloğu içinde let status adında bir değişken tanımla ve değerini "stokta" yap. Aynı blok içinde console.log(status) ile yazdır. Dışarıda checkStock(5) çağrısı yapsın.

Örnek çözümü göster
function checkStock(count) {
  if (count > 0) {
    let status = "stokta";
    console.log(status);
  }
}

checkStock(5);

Kendini test et

  1. Bu kodun çıktısı ne olur?

    if (true) {
      let x = 5;
    }
    console.log(x);
    • 5
    • ReferenceError
    • undefined
    • null
    Cevabı göster

    ReferenceError — Doğru. let ile tanımlanan x blok kapsamlıdır, dışarıdan erişilemez.

  2. Blok kapsamlı değişkeni tamamla

    if (active) {
      let status = ____;
      console.log(status);
    }
    Cevabı göster
    if (active) {
      let status = "aktif";
      console.log(status);
    }
  3. Bildirimi kapsamıyla eşleştir

    let
    Blok kapsamlıdır
    const
    Blok kapsamlı, sabittir
    var
    Fonksiyon kapsamlıdır
    fonksiyon parametresi
    Yalnız fonksiyon içindedir

Orta seviye bölümündeki tüm dersler