JavaScript’de Sabit Tanımlar CONST
Değer olarak sabit olarak tanımlanan ve kod blog boyunca değişmeyen ve değiştirilemeyen değişkenler olarak tanımlanır. Burada dikkat edilmesi gereken tanımlanan sabitin ismi başka bir değişkene ve fonksiyona verilmez. Kod çalışırken sabitlere değer atanması yapılmaz. Sabitler ingilizce constant kelimesinin kısaltılması olan const kelimesi ile tanımlanır. JavaScript’de const ile bir sabit tanımladıktan sonra ve ona bir değer verdiğiniz onu değiştirmeye kalktığınız Assignment to constant variable hatası alırsınız.

JavaScript’de bir örnekle const tanımı yapalım;

const welcome = "Merhaba";
// const sabit tanımlayı ile sadece String değil, array, 
// number ve diğer değişken tiplerini kullanarakta 
// tanım yapabilirsiniz. 
const katsayilar = [2,3,4,5];
const pi = 3.14;
const und = undefined;

const anahtar kelimesi ile sabit bir değişken oluşturabilirsiniz. Sabit değerler için söz dizimi (Syntax) değişken değerleri ile aynıdır: bir harf, alt çizgi ( _  ) veya dolar ( $ ) işareti ile başlamalıdır ve devamında ise alfabetik, sayısal veya altçizgi gibi karakterler gelebilir. Javascript kodları çalışırken sabit olarak tanımlanan bir sabitin değeri, atama yapılarak değiştirilemez ve değişken tanımlanırken değer atanması yapılmalıdır. Aksi taktirde SyntaxError hatası alırsınız.

const  ile tanımlanan sabitlerin etki alanı let ile tanımlanan sabitlerin etki alanıyla aynıdır. Bir etki alanında, halihazırda bir fonksiyon veya değişken varsa, aynı isimli sabit tanımlamak hataya yol açar. Örneğin;

// BU HATAYA NEDEN OLUR
function f() {};
const f = 5; // SyntaxError: Identifier 'f' has already been declared
// BU DA HATAYA NEDEN OLUR
function f() {
const g = 5;
var g; // SyntaxError: Identifier 'g' has already been declared
}

Sabit bir nesneye atanan özellikler diğer fonksiyonların kullanımına karşı korunmamışlardır (not protected). Nesnenin kendisi sabit olmasına rağmen değişken değerler alabilir. Örnek

const BENIM_NESNEM = {"anahtar": "değer"};
BENIM_NESNEM.anahtar = "diğerDeğer";

Kaynaklar : https://developer.mozilla.org

0 cevaplar

Cevapla

Want to join the discussion?
Feel free to contribute!

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir