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
const , var , vs. ile nasıl fonksiyon tanımlanıyor.
yaptığım bi projede switch içinde fonksiyon tanımlamam gerekiyo ama function ile tanımnladığımda o fonksiyonu sadece o switch içinde kullanabiliyorum.
Yardım ederseniz sevinirim.
const f = ()=>{} // arrow function
const f = function(){}
fonksiyonun switch dışında kullanılması scope konusu ile ilgili bir olay.