JavaScript’te const Anahtar Kelimesi Kullanımı
Sabit Değişkenler (Ama Sandığın Kadar Sabit Değil 👀)
JavaScript yazmaya başladığında karşına üçlü bir ekip çıkar:
var→ emekli olmaya yakın ama hâlâ sahadalet→ modern, mantıklı, güvenilirconst→ söz verdi mi geri adım atmayan 😎
Bu yazıda başrol const. Ama spoiler verelim: const, her zaman “asla değişmez” demek değil. Evet, JavaScript yine bizi küçük bir zihin jimnastiğine davet ediyor.
const Nedir? Ne Yapar? Ne Yapmaz?
const, yeniden atama yapılamayan değişkenler tanımlamak için kullanılır.
const siteName = "CodeDünyası";
Bu satırla JavaScript’e şunu söylüyorsun:
“Bak dostum, bu değişkenin adı
siteName.
Değeri bu.
Bir daha üstüne yazmaya çalışma.”
Şimdi şunu yapalım:
siteName = "BaşkaBirSite";
JavaScript anında tepki verir:
❌ TypeError: Assignment to constant variable
Yani JS’in tercümesi:
“Buna izin vermiyorum. Baştan anlaşmıştık.”
Özet: const = yeniden atama yok ❌
const Kullanmanın Altın Kuralı 🏆
const tanımlandığı anda değer almak zorundadır.
Yanlış kullanım (JavaScript sinirlenir):
const age;
age = 25;
Doğru kullanım:
const age = 25;
JavaScript burada çok nettir:
- “Sonra veririm” ❌
- “Bir bakayım” ❌
- “Kafam netleşsin” ❌
Tanımladın mı? Değerini de verdin. Nokta.
Neden Herkes const Kullanıyor?
Çünkü const:
- Kodun niyetini anlatır
- Yanlışlıkla değer değiştirme riskini ortadan kaldırır
- Takım arkadaşlarına (ve gelecekteki sana) şunu der:“Bu değişken değişmeyecek, boşuna kurcalama.”
Modern JavaScript’te yazılı olmayan ama herkesin bildiği bir kural vardır:
Önce
const, gerekirselet
Yani refleksin şu olsun:
const total = 100;
Eğer gerçekten değişmesi gerekiyorsa:
let total = 100;
total = 120;
Plot Twist 🎬 const + Obje Meselesi
Şimdi işin eğlenceli kısmına geldik.
const user = {
name: "Ahmet",
age: 30
};
Bu değişken const. Peki aşağıdakiler ne olur?
1️⃣ Objenin içini değiştirmek
user.age = 31;
✅ ÇALIŞIR
Neden? Çünkü:
const, referansı sabitler- Objenin içi serbest alan 🎈
JavaScript burada şunu der:
“Aynı objeyi kullanmaya devam et, ama içini düzenleyebilirsin.”
2️⃣ Objeyi tamamen değiştirmek
user = { name: "Mehmet", age: 25 };
❌ HATA
Çünkü artık aynı referans değil. const buna izin vermez.
Aynı Hikâye: const + Array 🍿
const numbers = [1, 2, 3];
Array’i değiştirelim:
numbers.push(4);
✅ Çalışır
numbers[0] = 99;
✅ Çalışır
Ama şunu yaparsan:
numbers = [5, 6, 7];
❌ Hata
Kısaca:
- İçerik değişebilir
- Referans değişemez
const Gerçekten Sabit Olsun İstiyorsan 🧊
Objenin içinin de değişmemesini istiyorsan:
const settings = Object.freeze({
theme: "dark",
language: "tr"
});
settings.theme = "light";
❌ Değişmez (strict mode’da hata verir)
💡 İpucu: Object.freeze yüzeyseldir. İç içe objelerde ekstra önlem gerekir.
Gerçek Hayatta const Nerelerde Kullanılır?
🔗 API adresleri
const API_URL = "https://api.example.com";
🧮 Fonksiyonlar
const calculateTotal = (price, tax) => price + tax;
🖱️ DOM elementleri
const submitButton = document.querySelector("#submitBtn");
⚙️ Sabit ayarlar
const MAX_RETRY_COUNT = 3;
Bu tür değerler değişmeyecekse, const candır ❤️
Mini Hatalar, Büyük Dersler 🚧
❌ Her şeyi let yapmak
Gereksiz risk
❌ const’u yanlış anlamak
“Bu neden değişti?” paniği
✅ Bilinçli const kullanımı
Temiz, güvenli, okunabilir kod
Beyne Kazıyalım 🧠 (Ultra Özet)
constyeniden atamayı engeller- Tanımlanırken değer almak zorundadır
- Obje ve array içi değişebilir
- Referans değişemez
- Modern JavaScript’in varsayılanıdır
Kapanış 🎤
const, JavaScript’te:
- Kodun niyetini anlatır
- Hataları azaltır
- Seni senden korur 😄
Eğer hâlâ refleks olarak let yazıyorsan…const bir yerlerde sessizce üzülüyordur.
