Javascript’te herhangi bir fonksiyon dışında bir değişken tanımladığınız zaman tanımladığınız değişken her zaman global değişken olur. Bu sayede javasciprt dokümanı içerisinde herhangi bir kod parçası bu değişkene erişebilir. Bir fonksiyonun etki alanı içerisinde değişken tanımladığınız durumda tanımladığınız değişkene local (yerel) denir. Bu sayede local olarak tanımladığınız değişkenlere sadece tanımladığınız fonksiyon içerisinde erişebilir.

ECMAScript 6’dan önceki Javascript’te, blok seviyesinde etki alanı yoktur; blok içerisinde tanımlanan değişken içinde bulunduğu fonksiyonuna yerel (local) olarak, fonksiyonda değil ise genel (global) olarak tanımlanmış olur.

if (true) {
var x = 5;
}
console.log(x);  // 5

Bu örnekte x değişkeni if bloğunun içinde tanımlanmış gibi görünsede aslında global bir değişken olarak tanımlanmıştır. Bu sorunu gidermek için ESCAScript 2015’te belirtilen let tanımlayıcısı kullanılır. Çünkü let ifadesi değişkeni global değişken olarak değil, değişkenin tanımlandığı blokla sınırlı tutar. Bunu bir örnekle açıklayalım.

if (true) {
let y = 5;
}
console.log(y);  // Uncaught ReferenceError: y is not defined

Kaynaklar : https://developer.mozilla.org

0 cevaplar

Cevapla

Want to join the discussion?
Feel free to contribute!

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir