Site icon Bitimek

JavaScript | var, let, const Kavramları

javascript var, let, const farkları

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.

Exit mobile version