JavaScript const: Sabit Değişkenler, Kullanım Alanları ve Sabit Nesneler/Diziler
JavaScript’te const
, değeri sonradan değiştirilemeyen (sabit) değişkenler tanımlamak için kullanılan bir anahtar kelimedir. Bu makalede, const
‘un ne olduğunu, ne zaman kullanılacağını ve sabit nesneler/dizilerle nasıl çalışıldığını örneklerle açıklayacağız.
1. JavaScript const
Nedir?
const
, ES6 (ECMAScript 2015) ile gelen bir özelliktir. const
ile tanımlanan değişkenler, bir kez değer atandıktan sonra yeniden atama yapılamaz. Bu, const
ile tanımlanan değişkenlerin sabit (immutable) olduğu anlamına gelir.
Örnek:
const PI = 3.14;
console.log(PI); // Çıktı: 3.14
// PI = 3.14159; // Hata: Sabit değer değiştirilemez.
2. JavaScript const
Ne Zaman Kullanılır?
const
, aşağıdaki durumlarda kullanılır:
a) Değeri Değişmeyecek Sabitler İçin
Program boyunca değeri değişmeyecek sabitler için const
kullanılır. Örneğin, matematiksel sabitler, yapılandırma ayarları veya sabit URL’ler.
Örnek:
const API_URL = "https://api.example.com";
const MAX_USERS = 100;
b) Referans Tipler İçin
const
, nesneler ve diziler gibi referans tipler için de kullanılır. Bu durumda, değişkenin kendisi yeniden atanamaz, ancak nesnenin veya dizinin içeriği değiştirilebilir.
Örnek:
const user = { name: "Ali", age: 25 };
user.age = 26; // Nesnenin içeriği değiştirilebilir
console.log(user); // Çıktı: { name: "Ali", age: 26 }
// user = { name: "Mehmet", age: 30 }; // Hata: Sabit değer değiştirilemez.
c) Blok Kapsamı İçin
const
, let
gibi blok kapsamına (block scope) sahiptir. Bu, const
ile tanımlanan değişkenlerin yalnızca tanımlandıkları blok içinde geçerli olduğu anlamına gelir.
Örnek:
if (true) {
const x = 10;
console.log(x); // Çıktı: 10
}
// console.log(x); // Hata: x tanımlı değil
3. Sabit Nesneler ve Diziler
const
ile tanımlanan nesneler ve diziler, yeniden atanamaz, ancak içerikleri değiştirilebilir. Bu, const
‘un referans tipler için nasıl çalıştığını gösterir.
a) Sabit Nesneler
Bir nesne const
ile tanımlandığında, nesnenin kendisi yeniden atanamaz, ancak nesnenin özellikleri değiştirilebilir.
Örnek:
const person = {
name: "Ali",
age: 25
};
person.age = 26; // Nesnenin özelliği değiştirilebilir
console.log(person); // Çıktı: { name: "Ali", age: 26 }
// person = { name: "Mehmet", age: 30 }; // Hata: Sabit değer değiştirilemez.
b) Sabit Diziler
Bir dizi const
ile tanımlandığında, dizinin kendisi yeniden atanamaz, ancak dizinin elemanları değiştirilebilir veya yeni elemanlar eklenebilir.
Örnek:
const colors = ["Kırmızı", "Yeşil", "Mavi"];
colors.push("Sarı"); // Diziye yeni eleman eklenebilir
console.log(colors); // Çıktı: ["Kırmızı", "Yeşil", "Mavi", "Sarı"]
colors[0] = "Pembe"; // Dizinin elemanı değiştirilebilir
console.log(colors); // Çıktı: ["Pembe", "Yeşil", "Mavi", "Sarı"]
// colors = ["Siyah", "Beyaz"]; // Hata: Sabit değer değiştirilemez.
4. const
Kullanırken Dikkat Edilmesi Gerekenler
- Yeniden Atama:
const
ile tanımlanan değişkenlere yeniden atama yapılamaz.
const x = 10;
// x = 20; // Hata: Sabit değer değiştirilemez.
- Blok Kapsamı:
const
, blok kapsamına sahiptir. Bu nedenle, tanımlandığı blok dışında erişilemez.
if (true) {
const y = 5;
console.log(y); // Çıktı: 5
}
// console.log(y); // Hata: y tanımlı değil
- Referans Tipler:
const
ile tanımlanan nesneler ve dizilerin içeriği değiştirilebilir, ancak kendileri yeniden atanamaz.
const arr = [1, 2, 3];
arr.push(4); // Geçerli
// arr = [5, 6, 7]; // Hata: Sabit değer değiştirilemez.
Sonuç
JavaScript’te const
, değeri sonradan değiştirilemeyen sabit değişkenler tanımlamak için kullanılır. const
, özellikle program boyunca değeri değişmeyecek sabitler ve referans tipler (nesneler, diziler) için idealdir. const
ile tanımlanan nesneler ve dizilerin içeriği değiştirilebilir, ancak kendileri yeniden atanamaz. Bu özellikleriyle const
, modern JavaScript geliştirmede güvenli ve okunabilir kod yazmak için önemli bir araçtır.
const
‘u doğru şekilde kullanarak, kodunuzun daha güvenli ve bakımı kolay hale gelmesini sağlayabilirsiniz. Bu makalede verilen örnekler, const
‘un nasıl çalıştığını ve ne zaman kullanılacağını anlamanıza yardımcı olacaktır.