
İçindekiler
JavaScript, web geliştirme dünyasının temel taşlarından biridir ve değişken tanımlama bu dilin en kritik kavramlarından biridir. Değişkenler, programlamanın temel bileşenlerinden biri olarak, verileri tutmak ve bu verilere anlamlı isimler vermek için kullanılır. Yıllarca geliştiriciler yalnızca var
anahtar kelimesini kullanarak değişken tanımları yaparken, ECMAScript 6 (ES6) ile birlikte gelen let
ve const
anahtar kelimeleri, daha güvenli ve modern bir programlama deneyimi sunar hale geldi. Bu yazıda, bu üç farklı değişken tanımlama yöntemini ayrıntılı bir şekilde inceleyeceğiz. Her biri için örnek kodlar verecek, farklarını tablolarla özetleyecek ve hangi durumda hangisinin tercih edilmesi gerektiğine dair ipuçları sunacağız.
1. var
ile Değişken Tanımlama
var
, JavaScript’in ilk zamanlarından bu yana kullanılan klasik bir anahtar kelimedir.
var mesaj = "Merhaba Dünya";
console.log(mesaj);
varın öne çıkan özellikleri:
- Fonksiyon kapsamına (function scope) sahiptir. Bu da demektir ki bir fonksiyon içinde tanımlanan
var
değişkenine, o fonksiyonun tüm içeriğinden erişilebilir. - Aynı değişken ismiyle tekrar tanımlamaya izin verir. Bu bazen kontrolsüz kodlarda sorunlara yol açabilir.
- Hoisting (yukarı taşıma) davranışı gösterir. Bu, değişkenin tanımlandığı satırdan önce bile ona erişmenin teknik olarak mümkün olduğu anlamına gelir, ancak değeri
undefined
olur.
console.log(deger); // undefined
var deger = 10;
var
kullanıldığında, bu tarz durumlar hataya açık kod blokları oluşturabilir. Bu nedenle modern geliştiriciler tarafından kullanımı azalmıştır.
2. let
ile Değişken Tanımlama
ECMAScript 6 ile gelen let
, var
‘a göre daha esnek ve güvenli bir alternatiftir.
let isim = "Yasemin";
console.log(isim);
let’in avantajları:
- Blok kapsamına (block scope) sahiptir. Yani, bir
if
,for
, ya da{}
ile sınırlanan herhangi bir bloğun içinde tanımlandığında sadece o blok içinden erişilebilir. - Aynı isimle tekrar tanımlanamaz. Bu, kodun daha düzenli ve hatasız olmasını sağlar.
- Hoisting vardır ancak “Temporal Dead Zone” (geçici ölü bölge) nedeniyle, değişken tanımlanana kadar erişilemez ve hata verir.
{
let yas = 25;
console.log(yas); // 25
}
// console.log(yas); // ReferenceError
let
, geliştiricilerin istemeden global ya da fonksiyon dışında değişken tanımlamalarını engeller. Bu da daha kararlı bir kod yapısı sağlar.
3. const
ile Değişken Tanımlama
const
, ES6 ile gelen bir diğer anahtar kelimedir ve adından da anlaşılacağı gibi sabit değerler tanımlamak için kullanılır.
const PI = 3.14;
console.log(PI);
const’un karakteristikleri:
- Blok kapsamına sahiptir.
- Tanımlandıktan sonra yeniden değer ataması yapılamaz. Bu da onu sabitler için ideal hale getirir.
- Ancak diziler ve nesneler gibi referans türleri için, öğelerin içeriği değişetirilebilir.
const ogrenci = { isim: "Ahmet" };
ogrenci.isim = "Mehmet"; // Geçerli
// ogrenci = {}; // Hata verir
Bu nedenle const
, kodunuzda sabit kalması gereken ancak iç yapısı değişebilecek veri türleri için de sıkça kullanılır.
4. var
, let
ve const
Arasındaki Farklar
Özellik | var | let | const |
---|---|---|---|
Kapsam | Fonksiyon | Blok | Blok |
Yeniden Tanımlama | Evet | Hayır | Hayır |
Hoisting | Evet (undefined) | Evet (TDZ) | Evet (TDZ) |
Değer Değiştirme | Evet | Evet | Hayır (primitive) |
Global Kirlilik | Evet | Hayır | Hayır |
Kod Okunabilirliği | Düşük | Orta – Yüksek | Yüksek |
Bu tabloyu baz alarak, farklı senaryolarda hangisinin daha uygun olacağına karar verebilirsiniz.
SEO anahtar kelimeleri: JavaScript değişken tanımlama, var let const farkı, ES6 let const kullanımı, modern JavaScript, JavaScript let nedir, const nedir, let ne zaman kullanılır, var kullanılmamalı mı
5. Hangi Durumda Hangisini Kullanmalıyız?
Kod yazarken hangi anahtar kelimeyi kullanacağınıza karar verirken şu soruları sorabilirsiniz:
- Bu değişkenin değeri ileride değişecek mi?
- Sadece belirli bir blok içerisinde mi kullanılacak?
- Sabit bir değer mi temsil ediyor?
Bu sorulara cevap vererek aşağıdaki çıkarımlarda bulunabilirsiniz:
- Değeri sabit kalacaksa:
const
tercih edilmelidir. Bu, kodun niyetini daha net ifade eder. - Değişebilir ancak kapsamı sınırlıysa:
let
kullanın. Özellikle döngüler ve kontrol yapılarında işe yarar. - Global veya fonksiyon kapsamındaysa ve tarihsel nedenlerle gerekiyorsa:
var
kullanılabilir ama modern kodlarda olabildiğince kaçınılmalı.
Ayrıca, bir projede tutarlılığı sağlamak için takım çalışmalarında standartlara uygun kullanım da çok önemlidir.
6. Özet ve Sonuç
JavaScript’te değişken tanımlarken let
ve const
kullanımı, kodun güvenli, okunabilir ve bakımı kolay olması açısından önemlidir. var
uzun süredir kullanılmakla birlikte, modern projelerde genellikle tercih edilmemektedir.
Kodunuzu geliştirirken:
const
ile sabitleri,let
ile değişken ama sınırlı kapsamı olan verileri,var
‘dan ise olabildiğince uzak durmanız, hem sizin hem de projedeki diğer geliştiricilerin hayatını kolaylaştırır.
JavaScript’te uzmanlaşmak isteyen herkesin bu farklılıkları iyi öğrenmesi ve pratik yaparak pekleştirmesi gerekir. Bu bilgilerle donanımlı hale gelerek daha temiz, profesyonel ve hatasız kodlar yazabilirsiniz.
Daha fazla javascript öğrenmek için “JavaScript” kategorisine ve w3schools sayfasına bakabilirsin.
var
, let
ve const
arasındaki temel fark nedir?
var
: Fonksiyon kapsamına sahiptir, aynı değişkeni tekrar tanımlamaya izin verir ve hoisting özelliği ile tanımlamadan önce erişilebilir (undefined olarak).let
: Blok kapsamına sahiptir, tekrar tanımlanamaz ve tanımlanmadan önce erişilemez (temporal dead zone).const
: Blok kapsamına sahiptir, tanımlandıktan sonra değeri değiştirilemez. Ancak, objeler ve dizilerde içerik değiştirilebilir.
Hangi durumda let
, hangi durumda const
kullanmalıyım?
Eğer tanımladığınız değişkenin değeri değişmeyecekse const
kullanmalısınız. Ancak değeri zaman içinde değişecekse ve sadece belirli bir blok içerisinde geçerliyse let
kullanmak daha doğrudur. const
, değişkenin sabit kalacağını garanti altına alırken, let
daha esnek kullanım sunar.
var
neden artık önerilmiyor?
var
, kodun tahmin edilmesini zorlaştırabilir çünkü fonksiyon kapsamlıdır ve hoisting özelliği nedeniyle beklenmedik sonuçlar doğurabilir. let
ve const
, daha güvenli ve okunabilir kod yazmanızı sağlar. Bu yüzden modern JavaScript uygulamalarında var
kullanımı genellikle önerilmez.
const
ile tanımladığım bir obje veya dizinin içeriğini neden değiştirebiliyorum?
const
değişkenin referansının sabit olduğunu belirtir, içeriğinin değil. Yani objenin bellekteki adresi sabittir ama o adresteki veriler değiştirilebilir.
let
ile aynı isimde değişkeni tekrar tanımlayabilir miyim?
Hayır. let
ile tanımlanmış bir değişken, aynı kapsam içinde tekrar tanımlanamaz. Bu da hata yapmanızı engeller ve kodun daha güvenli olmasını sağlar.
Global bir değişken tanımlarken hangisini kullanmalıyım?
Global değişkenlerden mümkün olduğunca kaçınılmalı. Ancak kullanmanız gerekiyorsa, değişkenin değişmeyecek bir değer olduğunu biliyorsanız const
, değişebilecekse let
tercih edilmelidir. var
kullanmak modern standartlarda önerilmez.
Henüz yorum yapılmamış. İlk yorumu siz yapabilirsiniz!