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):
letveconstkullanı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.