JavaScript Kapsamı
Kapsam, değişkenlerin erişilebilirliğini (görünürlüğünü) belirler.
JavaScript'in 3 tür kapsamı vardır:
- Kapsamı engelle
- fonksiyon kapsamı
- Küresel kapsam
Blok Kapsamı
ES6'dan (2015) önce JavaScript'te yalnızca Global Scope ve Function Scope vardı .
ES6, iki önemli yeni JavaScript anahtar sözcüğünü tanıttı: let
ve const
.
Bu iki anahtar kelime , JavaScript'te Blok Kapsamı sağlar.
Bir { } bloğu içinde bildirilen değişkenlere bloğun dışından erişilemez:
Örnek
{
let x = 2;
}
// x can NOT be used here
Anahtar kelime ile bildirilen değişkenler var
blok kapsamına sahip olamaz.
Bir { } bloğu içinde tanımlanan değişkenlere bloğun dışından erişilebilir.
Örnek
{
var x = 2;
}
// x CAN be used here
Yerel Kapsam
Bir JavaScript işlevi içinde bildirilen değişkenler, işlev için YEREL olur.
Örnek
// code here can NOT use carName
function myFunction() {
let carName = "Volvo";
// code here CAN use carName
}
// code here can NOT use carName
Yerel değişkenlerin İşlev Kapsamı vardır :
Bunlara yalnızca işlev içinden erişilebilir.
Yerel değişkenler sadece kendi fonksiyonları içinde tanındıkları için aynı isimli değişkenler farklı fonksiyonlarda kullanılabilir.
Yerel değişkenler, bir işlev başladığında oluşturulur ve işlev tamamlandığında silinir.
İşlev Kapsamı
JavaScript'in işlev kapsamı vardır: Her işlev yeni bir kapsam oluşturur.
Bir fonksiyon içinde tanımlanan değişkenlere fonksiyonun dışından erişilemez (görünür).
var
, ile bildirilen değişkenler let
ve const
bir işlev içinde bildirildiğinde oldukça benzerdir.
Hepsinin İşlev Kapsamı vardır :
function myFunction() {
var carName = "Volvo";
// Function Scope
}
function myFunction() {
let carName = "Volvo"; //
Function Scope
}
function myFunction() {
const carName = "Volvo"; //
Function Scope
}
Genel JavaScript Değişkenleri
Bir fonksiyonun dışında bildirilen bir değişken GLOBAL olur .
Örnek
let carName = "Volvo";
// code here can use carName
function myFunction() {
// code here can also use carName
}
Global bir değişkenin Global Kapsamı vardır :
Bir web sayfasındaki tüm komut dosyaları ve işlevler ona erişebilir.
Küresel Kapsam
Global olarak bildirilen değişkenler (herhangi bir fonksiyonun dışında) Global Scope'a sahiptir .
Global değişkenlere bir JavaScript programında herhangi bir yerden erişilebilir.
var
, ile bildirilen değişkenler let
ve const
bir bloğun dışında bildirildiğinde oldukça benzerdir.
Hepsinin Küresel Kapsamı var :
var x = 2;
// Global scope
let x = 2; //
Global scope
const x = 2; //
Global scope
JavaScript Değişkenleri
JavaScript'te nesneler ve işlevler de değişkenlerdir.
Kapsam, kodun farklı bölümlerinden değişkenlerin, nesnelerin ve işlevlerin erişilebilirliğini belirler.
Otomatik olarak Küresel
Bildirilmemiş bir değişkene değer atarsanız, otomatik olarak GLOBAL değişkeni olur.
carName
Bu kod örneği , değer bir fonksiyon içinde atanmış olsa bile global bir değişken bildirecektir .
Örnek
myFunction();
// code here can use carName
function myFunction() {
carName = "Volvo";
}
Sıkı Mod
Tüm modern tarayıcılar JavaScript'in "Sıkı Mod"da çalıştırılmasını destekler.
Bu öğreticinin sonraki bir bölümünde katı modun nasıl kullanılacağı hakkında daha fazla bilgi edineceksiniz.
"Strict Mode"da, bildirilmemiş değişkenler otomatik olarak global değildir.
HTML'de Global Değişkenler
JavaScript ile global kapsam JavaScript ortamıdır.
HTML'de global kapsam, pencere nesnesidir.
Anahtar sözcükle tanımlanan global değişkenler var
, pencere nesnesine aittir:
Örnek
var carName = "Volvo";
// code here
can use window.carName
Anahtar sözcükle tanımlanan genel değişkenler let
, pencere nesnesine ait değildir:
Örnek
let carName = "Volvo";
// code here can not use window.carName
Uyarı
İstemediğiniz sürece global değişkenler OLUŞTURMAYIN.
Global değişkenleriniz (veya fonksiyonlarınız) pencere değişkenlerinin (veya fonksiyonlarının) üzerine yazabilir.
Pencere nesnesi de dahil olmak üzere herhangi bir işlev, genel değişkenlerinizin ve işlevlerinizin üzerine yazabilir.
JavaScript Değişkenlerinin Ömrü
Bir JavaScript değişkeninin ömrü, bildirildiğinde başlar.
İşlev (yerel) değişkenleri, işlev tamamlandığında silinir.
Bir web tarayıcısında, tarayıcı penceresini (veya sekmesini) kapattığınızda global değişkenler silinir.
Fonksiyon Argümanları
İşlev bağımsız değişkenleri (parametreler), işlevlerin içinde yerel değişkenler olarak çalışır.