JavaScript var, let ve const Anahtar Kelimeleri

Hacer Dalkiran
3 min readAug 8, 2021

--

JavaScript’te kod yazarken bir değişken( variable) tanımlarken var, let ve const anahtar kelimelerini kullanırız.

Bunlardan en yaygını ve en bilineni “var” anahtar kelimesidir. Bir örnek vermek gerekirse;

var myPet = “kedim”;

console.log(myPet);

“var” kullanırken karşılaşılan en büyük sıkıntı, eğer büyük bir projede çalışılıyorsa, uyarı vermeden daha önce tanımlanan bir değerin üstüne yazılabilmesidir.

örneğin;

var myName = “Ada”;

var myName = “Lovelace”;

yazdığımızda yeni myName değerimiz “Lovelace” olarak atanacaktır.

Ancak “var” yerine “let” kullanılırsa daha “safe” yani güvenli bir kod yazılmış olur. Bunun yanında “use strict” yapısı da kullanılırsa tadından yenmez.

Kullanımına bir bakalım;

resimde tekrar tanımlamaya izin verilmediği için alınan hatayı görebiliriz.

kodu “let” yerine “var” kullanarak yazsaydık,

kodumuz gayet güzel çalışacaktı. Tabi birkaç satırda sorun olmaz ama binlerce satırlık bir kodda dikkatli olmakta ve let kullanmakta fayda var.

Gelelim bir diğer farka;

Scope yani kapsam önemlidir. Bir değişken global olarak mı tanımlandı, yoksa local olarak mı tanımlandı, önemlidir. “let” bizi burada da kurtarıyor. “var” ile tanımlanan değişkenler localde de tanımlansa global değişkeni değiştirebiliyor. Örneğin;

Daha “safe” bir yazım “let” kullanımıyla mümkün olur. Aynı kodu “let” kullanarak yazarsak,

Zaten global bir değişken tanımlamanın amacı lokalde yapılan değişikliklerle değişmemesi ise “let” kullanımı çok daha iyi olacaktır.

Tabii eğer lokalde kullanırken “let”i kullanmadan değişiklik yapılırsa, bu global değişkenin de değeri değişecektir.

Gelelim const anahtar kelimesine;

Eğer yazdığımız kodda “read-only” bir değişken tanımlamak isterse, burada “const” anahtar kelimesini kullanmamız gerekir.

Bir “best-practice” olarak “const” kullanarak tanımladığımız değişkenleri full büyük harfle tanımlarız. Bunun dışındaki diğer değişkenleri “camel-case” kullanarak tanımlarız.

“const” kullanılarak tanımlanan değişkenin değeri bir daha değişmez.

Ayrıca mutable yani değişebilir olan bir değişken const ile tanımlanınca “immutable” olmaz. Burada kısaca “mutable-immutable” değişkenleri değinelim. String gibi değişken tipleri JavaScript”te immutable’dır. Yani değişmezdir. String’in bir elemanını kafamıza göre atayıp değiştiremeyiz. Ama array’ler mutable’dır. Bir array’in 3. elemanını değiştirebiliriz.

bir dizi tanımlayalım;

const myDizi = [1,2,3,4];

myDizi[2] = 58;

console.log(myDizi);

ekrana [1,2,58,4] basılacaktır. Ama benzer bir değişikliği dizinin tamamına uygulayamazsınız, çünkü const ile tanılanmışlardır.

myDizi = [1,1,2,3,5,8,13];

yazarsanız hata alırsınız.

Peki dizimizi tamamen korumak istersek ne yapabiliriz?

Cevap: Object.freeze isimli kütüphaneyi kullanabiliriz.

Object.freeze(myDizi);

yazarsak, dizimizi güvence altına almış oluruz.

--

--

Hacer Dalkiran
Hacer Dalkiran

Written by Hacer Dalkiran

Mathematician and Cybersecurity girl

No responses yet