JavaScript

JavaScript – Değişkenler: Const, Let, Var

JavaScript’e veya başka bir programlama diline başlanırken, yeni başlayanların ilk olarak Değişkenlerden başlaması gerektiği için, JavaScript’e ES6 ile yeni eklenen const ve let tanımlamalarından örneklerle bahsettim.

JavaScript eskiden tek bir değişken tipi ile kullanılıyordu ECMA Script 6 ile birlikte “var” tanımlamasına ek olarak “const” ve “let” tanımlamaları getirildi.

Var (Variable) = Bu değişken her zaman değiştirilebilir.

Const = const, ‘constant’ kelimesinden gelir ve ‘sabit’ anlamındadır. Const ile tanımladığımız verilerin değerlerini sonradan değiştiremeyiz.

Let = let tipine sahip bir değişkenin değeri sonradan değiştirilebilir.

Scope = Değişkeni tanımladığınız bölgeye göre isimlendirilir ve değişken de o bölgenin ismiyle anılır.
(Global scope’ta tanımlanan değişken global değişkendir gibi.)

Global Scope;
JavaScript kodunda herhangi bir yerde tanımlanan değişkenlerdir. Bu değişkenlere her yerden erişebiliriz.

Local Scope;
Sadece tanımlandığı fonksiyon içinde geçerli olan değişkenlerdir. Dışarıdan bu değişkenlere erişemezsiniz. Function Scope diye de bilinir.

Block Scope;
Block scope ise her türlü { } süslü parantez arasında olan kısıma denir. Buna if-else ve for da dahildir yani.

—– Örnekler —–

Global Scope ;

var name = ‘global değişken’;
console.log(name);

Ekran Çıktısı: // global değişken

Yukarıda “var ” tanımlamamızda, tanımlamayı bir blok içinde yapmadığımız için ‘name’ değişkeni nerede çağırılırsa çağırılsın “global değişken” çıktısını verecektir.

 

Local Scope (Function Scope) ;

function fnks() {
var name = “local değişken”;
console.log(name);
}

Ekran Çıktısı: // local değişken

 

const fnks= () =>{
var name =”local değişken”;
console.log(name);

}

Ekran Çıktısı: // local değişken
Not: const ile başlayan fonksiyon, ES6 fonksiyon tanımlamasına bir örnektir.

Yukarıdaki fnks() adlı fonksiyonların blokları içinde bir değişken tanımlayıp onları kullandığımız için blok içinde değişkene verilen değer işlenir. Eğer fonksiyondan bağımsız olarak konsola var name değişkenini yazdırırsak en üstte global scope’dan bahsederken tanımladığımız var name değişkeni çağırılacaktır.

var veya let tipinde bir değişken global olarak tanımlandığında Global Scope olur ve değiştirilebilir, çağırılabilir.

Fakat bloklar { } arasında yani  Local Scope‘ta tanımladığımız aynı isimdeki, aynı türdeki değişkenlerimiz sadece kullanıldığı alanda çalışır.

console.log(name); kodunu çalıştırdığımızda Global Scope olan var tipindeki name değişkeni çağırılmış ve ekrana “global değişken” yazılmış olur.

fnks() Fonksiyon’u içindeki name değişkenini yazdırmak için fnks(); şeklinde fonksiyonu çağırmamız gerekir.

 

—– Çalışma Örnekleri —–

var deger = “Murat”;
let deger2 = “Yağış”;
console.log(deger +” “+ deger2);

Ekran Çıktısı: // Murat Yağış

————–

let sayi1 = 5;
let sayi2 = 7;
let toplam = sayi1 + sayi2;
console.log(toplam);

Ekran Çıktısı: // 12

————–

var NO1 = 5let NO2 = 8const NO3 = 4;

Görüldüğü gibi yukarıda VAR tipinde NO1 değişkeni 5 değerini almış, LET tipinde NO2 değişkeni 8 değerini almış ve CONST tipinde NO3 sabiti 4 değerini almış. Şimdi bunların değerlerini değiştirelim.

NO1 = 7;

Ekran Çıktısı: // 7 (Ekrana NO1 değerinin 7 olduğunu yazar.)

NO2 = 6;

Ekran Çıktısı: // 6 (Ekrana NO2 değerinin 6 olduğunu yazar.)

NO3 = 9;

Ekran Çıktısı: // Hata (Uncaught TypeError: Assignment to constant variable.)

NO3 sabitini değiştirirken hata aldık çünkü adı üstünde sabit, değiştirilemez.

 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu