JavaScript Değişken Kapsamı (Örneklerle)

Bu eğitimde, örnekler yardımıyla JavaScript'teki değişken kapsam hakkında bilgi edineceksiniz.

Kapsam, kodun belirli bölümlerinde değişkenlerin ve işlevlerin kullanılabilirliğini ifade eder.

JavaScript'te bir değişkenin iki tür kapsamı vardır:

  1. Global Kapsam
  2. Yerel Kapsam

Global Kapsam

Bir programın üstünde veya bir işlevin dışında bildirilen bir değişken, genel kapsam değişkeni olarak kabul edilir.

Küresel kapsam değişkenine bir örnek görelim.

 // program to print a text let a = "hello"; function greet () ( console.log(a); ) greet(); // hello

Yukarıdaki programda, a değişkeni bir programın tepesinde bildirilir ve global bir değişkendir. Bu, değişkenin aprogramın herhangi bir yerinde kullanılabileceği anlamına gelir .

Global bir değişkenin değeri bir fonksiyon içinde değiştirilebilir. Örneğin,

 // program to show the change in global variable let a = "hello"; function greet() ( a = 3; ) // before the function call console.log(a); //after the function call greet(); console.log(a); // 3

Yukarıdaki programda, a değişkeni global bir değişkendir. A'nın değeri merhaba. Daha sonra bir fonksiyonun içinde a değişkenine erişilir ve değer 3 olarak değişir .

Dolayısıyla, bir işlevin içinde değiştirildikten sonra değeri değişir.

Not : Global değişkenleri kullanmaktan kaçınmak iyi bir uygulamadır çünkü global bir değişkenin değeri programdaki farklı alanlarda değişebilir. Programda bilinmeyen sonuçlar ortaya çıkabilir.

JavaScript'te, bir değişken belirtilmeden de kullanılabilir. Bir değişken bildirilmeden kullanılırsa, bu değişken otomatik olarak global bir değişken haline gelir.

Örneğin,

 function greet() ( a = "hello" ) greet(); console.log(a); // hello

Yukarıdaki programda, a değişkeni global bir değişkendir.

Değişken kullanılarak bildirilmişse let a = "hello", program bir hata verir.

Not : JavaScript'te, "strict mode";bir değişkenin bildirilmeden kullanılamayacağı vardır. Katı hakkında daha fazla bilgi edinmek için JavaScript Strict'i ziyaret edin.

Yerel Kapsam

Bir değişkenin yerel bir kapsamı da olabilir, yani sadece bir işlev içinden erişilebilir.

Örnek 1: Yerel Kapsam Değişkeni

 // program showing local scope of a variable let a = "hello"; function greet() ( let b = "World" console.log(a + b); ) greet(); console.log(a + b); // error

Çıktı

 helloWorld Yakalanmamış Referans Hatası: b tanımlı değil

Yukarıdaki programda, a değişkeni genel bir değişkendir ve b değişkeni yerel bir değişkendir. B değişkenine yalnızca karşılama işlevinin içinden erişilebilir. Dolayısıyla, fonksiyonun dışında b değişkenine erişmeye çalıştığımızda bir hata oluşur.

Blok Kapsamlı olsun

letAnahtar (değişken sadece hemen blok erişilebilir) blok kapsamı.

Örnek 2: blok kapsamlı Değişken

 // program showing block-scoped concept // global variable let a = 'Hello'; function greet() ( // local variable let b = 'World'; console.log(a + ' ' + b); if (b == 'World') ( // block-scoped variable let c = 'hello'; console.log(a + ' ' + b + ' ' + c); ) // variable x cannot be accessed here console.log(a + ' ' + b + ' ' + c); ) greet();

Çıktı

 Merhaba Dünya Merhaba Dünya merhaba Yakalanmamış Referans Hatası: x tanımlı değil

Yukarıdaki programda değişken

  • a global bir değişkendir. Programın herhangi bir yerinden erişilebilir.
  • b yerel bir değişkendir. Yalnızca işlevin içinden erişilebilir greet.
  • c, blok kapsamlı bir değişkendir. Yalnızca ififade bloğunun içinden erişilebilir .

Dolayısıyla yukarıdaki programda ilk ikisi console.log()sorunsuz çalışır.

Bununla birlikte, blok kapsamlı c değişkenine üçüncü bloğun dışında erişmeye çalışıyoruz console.log(). Bu bir hata oluşturacaktır.

Not : JavaScript'te, varişlev kapsamlı ve letblok kapsamlıdır. Yukarıdaki programda ifadenin var c = 'hello';içini kullanmaya çalışırsanız if, tüm program çalışır, çünkü c yerel bir değişken olarak kabul edilir.

Daha hakkında bilgi edinmek için letkarşı var, ziyaret JavaScript var vs edelim.

Ilginç makaleler...