Var Let ve Const Arasındaki Farklar

Javascript kodlarımızı yazarken karşılaştığımız VAR , LET ve CONST kelimeleri vardır . Bunların görevleri değişken tanımlamak olsa da aslında bu tanımlamaların arasında farklılıklar bulunmaktadır.

Şimdi sırasıyla bunları inceleyelim ;

VAR

var ile tanımlanan değişkenlerin kapsamı diğerlerinden daha fazladır . Bunları şu şekilde açıklayabilirizi.

  • Var ile tanımlanan değişkenler daha sonra değiştirilebilir
  • Var ile tanımlanan değişlenler kodun herhangi bir yerinde ve birden fazla kez kullanılabilir . Ya da tekrar tanımlanabilir.
  • Var ile tanımlanan değişkenler fonksiyonların kapsamı içerisindedir (function scope) yani fonksiyon içerisinde Var kullanılarak tanımlanmış değişkenlere fonksiyon dışından erişim sağlanamaz.
var isim = 'Serhat'; 
console.log(isim); // "Serhat" isim değişkeni Serhat olarak döner 
function yasKac (_yas) { 
var yas = _yas; 
console.log(yas); 
} yasKac(40); 
console.log(yas); // undefined olarak cevap dönecektir

LET

let ile tanımlanmış değişkenlere sadece tanımlandığı kapsamda ulaşılabilir . Block scope’dan kasıt her bir süslü parantezin ({}) içerisidir Sonradan tekrar değiştirilebilir Aynı kapsam (scope) içerisinde sadece bir sefer tanımlanabilir. Tekrar tanımlanmaya çalıştığında kod hata verir ve çalışmayı durdurur.

let x = 10; // global kapsamda tanımlanmış x değişkeni
if (true) {
  let x = 20; // blok kapsamında tanımlanmış x değişkeni
  console.log(x); // çıktı: 20
}
console.log(x); // çıktı: 10

Bu örnekte, önce global kapsamda x değişkeni tanımlanmıştır ve değeri 10 olarak atılmıştır. Daha sonra if bloğu içinde yeni bir x değişkeni let anahtar kelimesi ile tanımlanmıştır ve değeri 20 olarak atanmıştır. Ancak, bu değişken sadece blok kapsamında geçerlidir, yani blok dışındaki x değişkeni değişmemiştir ve değeri hala 10 olarak kalmıştır.

Ayrıca, let ile tanımlanan değişkenler sadece tanımlandığı kapsamda (burada blok kapsamı) erişilebilirdir ve aynı kapsam içinde sadece bir kez tanımlanabilirler. Eğer aynı kapsamda tekrar tanımlamaya çalışırsanız, kod hata verecektir ve çalışmayı durduracaktır.

CONST

const ile tanımlanmış bir değişken let kullanımında olduğu gibi tanımlandığı kapsam (block scope) içerisinden erişilebilir ve bunun dışından erişimler sağlanmaz. const kelimesi aslında Constant yani Sabit anlamını taşımaktadır . Kullanıldığı kapsam içerisinde sabittir ve değiştirilemez .

const pi = 3.14; // global kapsamda tanımlanmış sabit değişken
if (true) {
  const pi = 3.141592; // blok kapsamında tanımlanmış sabit değişken
  console.log(pi); // çıktı: 3.141592
}
console.log(pi); // çıktı: 3.14

Bu örnekte, önce global kapsamda pi sabit değişkeni tanımlanmıştır ve değeri 3.14 olarak atanmıştır. Daha sonra if bloğu içinde yeni bir pi sabit değişkeni const anahtar kelimesi ile tanımlanmıştır ve değeri 3.141592 olarak atanmıştır. Ancak, bu değişken sadece blok kapsamında geçerlidir, yani blok dışındaki pi değişkeni değişmemiştir ve değeri hala 3.14 olarak kalmıştır.

Ayrıca, const ile tanımlanan değişkenler sadece tanımlandığı kapsamda (burada blok kapsamı) erişilebilir ve aynı kapsam içinde sadece bir kez tanımlanabilirler. Ancak, let ile farklı olarak const ile tanımlanan değişkenler sabittir ve değiştirilemezler. Eğer değiştirmeye çalışırsanız, kod hata verecektir ve çalışmayı durduracaktır. Bu nedenle, const ile tanımlanan değişkenler genellikle programda değiştirilmemesi gereken sabit değerler için kullanılır.

 

Özellik var let const
Kapsam Function Block Block
Tekrar Tanımlama Evet Hayır Hayır
Değiştirilebilirlik Evet Evet Hayır
İlk Değer Atama Zorunluluğu Hayır Hayır Evet

Yukarıdaki tabloda, var, let ve const anahtar kelimelerinin kapsamı, tekrar tanımlanabilme özelliği, değiştirilebilirlik, ilk değer atama zorunluluğu gibi özellikleri karşılaştırılmaktadır.

  • Kapsam: var anahtar kelimesi, tanımlandığı kapsamın içinde bulunduğu fonksiyon veya dosya boyunca erişilebilirken, let ve const anahtar kelimeleri sadece tanımlandıkları blok kapsamında geçerlidirler.
  • Tekrar Tanımlama: var ile tanımlanan bir değişken, aynı kapsamda tekrar tanımlanmaya çalışıldığında hata vermezken, let ve const anahtar kelimeleri sadece bir kez tanımlanabilirler ve aynı kapsamda tekrar tanımlanmaya çalışıldığında hata verirler.
  • Değiştirilebilirlik: var ve let anahtar kelimeleri ile tanımlanan değişkenler değiştirilebilirken, const ile tanımlanan değişkenler sabittir ve değiştirilemezler.
  • İlk Değer Atama Zorunluluğu: let ve const ile tanımlanan değişkenler, tanımlandıkları anda bir değer ataması yapılması zorunludur. Ancak, var ile tanımlanan değişkenler için bu zorunluluk yoktur.

Var , Let , Const Arasındaki farklar bu şekilde … umarım faydalı olmuştur.

Yorum Ekle