JavaScript | var, let, const Kavramları

Merhabalar, bu yazımda sizlere JavaScript’de değişken tanımlamak için kullanılan var anahtar sözcüğü ve ek olarak EcmaScript6 ile birlikte gelen let ve const anahtar kelimelerine değineceğiz.

Şimdi bu 3 anahtar sözcüğü sırasıyla örnekler üzerinden açıklamaya çalışalım.

 

* var

Kısaca bu keyword ile, daha önce var ile tanımladığımız değişken tekrar tanımlanabilir yani aynı isimle tekrar tekrar tanımlama yapılabilir.

var sayi = 10;
console.log(sayi); //Konsola 10 Yazar

var sayi = 10;
sayi = 20;
console.log(sayi); //Konsola 20 yazar

// Tekrar tekrar tanımlanabilir
var sayi = 10;
var sayi = 20;
var sayi = 30;
console.log(sayi); //Konsola 30 yazar
if (true) {
    var sayi = 10;
    console.log("Block Scope:", sayi); // Konsola 10 yazar
}
console.log("Global Scope:", sayi); // Konsola 10 yazar. Değişken var olmaya devam etti.

 

* let

Bu keyword ile, daha önce let ile tanımladığımız değişken tekrar tanımlanamaz yani let keywordü ile tanımlanan değişkenler aynı isimle sadece bir defa tanımlanabilir.

let sayi = 10;
console.log(sayi); // Konsola 10 yazar

let sayi = 10;
sayi = 20;
console.log(sayi); // Konsola 20 yazar

 

let sayi = 10;
let sayi = 20; // Tekrar tanımlanamaz
console.log(sayi);
//Hata verir : "Uncaught SyntaxError: Identifier 'sayi' has already been declared"

 

if (true) {
    let sayi = 10; // Sadece burada var olur
    console.log(sayi); //Konsola 10 yazar
}
console.log(sayi);
//Hata verir : "Uncaught ReferenceError: sayi is not defined"

 

* const

Bu keyword de ise, tanımlarken değer atamak zorundayız, aynı isimle tekrar tanımlama yapılamaz, buna ek olarak tanımladığımız değer daha sonra değiştirilemez ancak referans kullanılarak değiştirilebilir.

const sayi = 10;
console.log(sayi); // Konsola 10 yazar

const sayi = 10;
const sayi = 20; // Hata
console.log(sayi);
//Uncaught SyntaxError: Identifier 'sayi' has already been declared

 

const sayi = 10;
sayi = 20; // Hata, daha sonra değiştirilemez
console.log(sayi);
//Uncaught TypeError: Assignment to constant variable.

 

const sayi = [1,2,3,4];
sayi.push(5);
console.log(sayi); //Konsola [1, 2, 3, 4, 5] yazılır, değeri referans yollardan değiştirilebildi.

 

Keywordlerin kullanımıyla ilgili farklı farklı görüşler var fakat bu konuda Mathias Bynens‘in görüşü oldukça mantıklı duruyor.

* Mümkün olduğunca const kullan
* Sadece değişkenin değerini değiştirme ihtiyacın var ise let kullan
* Eğer ES6 yazıyorsan var kullanma

Kısaca anlatacaklarım bu kadar arkadaşlar, umarım faydalı bir yazı olmuştur.

Bir cevap yazın

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