Sobes.tech
Junior

JavaScript'te değişkenlerin kapsamı (scope) nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kapsam, değişkenlerin, fonksiyonların ve nesnelerin belirli bir kod bölümünde erişilebilirliğini belirler.

JavaScript'te birkaç tür kapsam vardır:

  • Küresel Kapsam (Global Scope): Herhangi bir fonksiyon veya blok dışında tanımlanan değişkenler, kodun herhangi bir yerinden erişilebilir.
  • Fonksiyon Kapsamı (Function Scope): Bir fonksiyon içinde (ES6 öncesi) tanımlanan değişkenler, sadece bu fonksiyon ve iç içe fonksiyonlar içinde erişilebilir.
  • Blok Kapsamı (Block Scope): let ve const kullanılarak bloklar içinde ({} veya döngüler gibi) tanımlanan değişkenler, sadece bu blok içinde erişilebilir.

Örnek:

// Küresel kapsam
let globalVar = "Ben küreselim";

function someFunction() {
  // Fonksiyon kapsamı (ES6 öncesi)
  var functionVar = "Fonksiyon içinde";
  console.log(globalVar); // Küresel değişken erişilebilir

  if (true) {
    // Blok kapsamı (let ve const için)
    let blockVar = "Blok içinde";
    console.log(functionVar); // Fonksiyon değişkeni erişilebilir
    console.log(blockVar); // Blok değişkeni erişilebilir
  }

  // console.log(blockVar); // Hata: blockVar burada erişilebilir değil
}

someFunction();
// console.log(functionVar); // Hata: functionVar burada erişilebilir değil

Değişkenleri tanımlamak ve kapsam üzerinde etkisi olan anahtar kelimeler:

Anahtar Kelime ES6 öncesi kapsam ES6 sonrası kapsam
var Fonksiyonel Fonksiyonel
let - Blok kapsamı
const - Blok kapsamı

Kapsamın anlaşılması, değişken isimleri çakışmalarını önlemek ve temiz, öngörülebilir kod yazmak için kritiktir.