JavaScript programlamada değişkenler, veri saklamak için kullandığımız temel yapı taşlarıdır. Kod yazarken değerleri geçici olarak tutmak ve üzerinde işlem yapmak için değişkenlere ihtiyaç duyarız. JavaScript’te değişkenleri tanımlamak için üç anahtar kelime vardır: var, let ve const. Bu yazıda, bu üç değişken türünün ne olduğunu, nasıl kullanıldığını ve aralarındaki farkları detaylı şekilde açıklayacağız.
var ile Değişken Tanımlama
JavaScript’in ilk sürümlerinde sadece var
anahtar kelimesi vardı. var
ile tanımlanan değişkenler fonksiyon scoped’dur, yani sadece tanımlandığı fonksiyon içinde geçerlidir. Fonksiyon dışında tanımlandığında ise global scope’a sahip olur. var
ile tanımlanan değişkenler hoisting (yukarı taşınma) özelliğine sahiptir; bu yüzden tanımlamadan önce bile kullanılabilirler ancak değeri undefined
olur.
Örnek:
var isim = "Furkan";
console.log(isim); // Çıktı: Furkan
let ile Değişken Tanımlama
ES6 (ECMAScript 2015) ile gelen let
, blok scoped (küme kapsamlı) değişken tanımlamaya izin verir. Bu, değişkenin sadece tanımlandığı {}
blok içinde geçerli olduğu anlamına gelir. Ayrıca, let
ile tanımlanan değişkenler hoisting’e uğrasa da, tanımlanmadan önce kullanmaya çalışırsanız hata verir (Temporal Dead Zone).
Örnek:
let yas = 25;
if (yas > 18) {
let mesaj = "Reşitsiniz";
console.log(mesaj); // Çıktı: Reşitsiniz
}
// console.log(mesaj); // Hata: mesaj tanımlı değil
const ile Değişken Tanımlama
const
da ES6 ile gelen bir diğer değişken tanımlama yöntemidir ve sabit değişkenler için kullanılır. Yani bir const
değişkeni tanımladıktan sonra değerini değiştiremezsiniz. Tıpkı let
gibi blok scoped’dur. Ancak sabit değişkenin içeriği (örneğin bir obje veya dizi) değiştirilebilir; sadece değişkenin kendisi yeniden atanamaz.
Örnek:
const PI = 3.14;
console.log(PI); // Çıktı: 3.14
// PI = 3.1415; // Hata: Atama yapılamaz
var, let ve const Arasındaki Temel Farklar
Özellik | var | let | const |
---|---|---|---|
Kapsam (Scope) | Fonksiyon | Blok | Blok |
Yeniden Atama | Mümkün | Mümkün | Mümkün değil |
Hoisting | Var (undefined) | Var (Dead Zone) | Var (Dead Zone) |
Yeniden Tanımlama | Mümkün | Mümkün değil | Mümkün değil |
Sonuç
JavaScript’te günümüzde let ve const kullanımı önerilir. var
eski kodlarda görülse de, modern projelerde blok kapsamlı ve hata yönetimi açısından daha güvenli olan let
ve const
tercih edilir. Değişmeyen değerler için const
, değişken değerler için ise let
kullanmak en iyi uygulamadır.