javascript: var, let and const

JavaScript: var, let, const

Ercüment Laçın
2 min readJan 13, 2021

Merhabalar, bu yazımda ES6 ile birlikte gelen, değişken tanımlamak için kullanılan let ve const kavramlarını açıklayacağım. Bununla birlikte değişken tanımlamak için kullandığımız var ile farklarını açıklıyor olacağım.

Bu kavramları anlayabilmek için Scope kavramını anlamak gerekiyor.

Scope Nedir ?

Scope kelime anlamı olarak Türkçede “Kapsam” anlamına gelir. Nedir bu scope (kapsam) ? JavaScript uygulamamız çalışırken değişkenimizin nerelerde var olduğunu (çalıştığını) ifade eden bir kavramdır. JavaScriptte üç adet scope bulunur;

1. Global Scope

Burada tanımlı olan değişkenlere her yerde ulaşılabilir ve kullanılabilir durumdadır.

2. Function Scope

Sadece fonskiyonların içinde var olabilen ve kullanılabilen scope’lara function scope diyoruz.

3. Block Scope

if, switch koşulları yada for ve while döngülerinin içindeki alanlardır. Genel olarak konuşacak olursak {} içinde yer alan alana block scope diyebiliriz. ES6'da const ve let kavramları, geliştiricilerin değişkenleri blok kapsamında bildirmesine izin verir, bu da bu değişkenlerin yalnızca karşılık gelen blok içinde var olduğu anlamına gelir.

Var

var nerede kullandığınıza göre function scope veya global scope’tur.

Const

const , “constant” kelimesinin kısaltması olup anlamı da “değiştirilemez” demektir. Yani const ile tanımladığımız değişkenlerin değerlerini sonradan değiştiremezsiniz. Ayrıca block scope’tur.

let

let ile tanımlanan değişkenlerin değerleri const’tan farklı olarak değiştirilebilirdir. const gibi block scope’tur ve yine const’da olduğu gibi yalnızca bir defa tanımlanabilir.

Sonuç

Gördüğünüz üzere birbirine benzer ama farklı 3 değişken tanımlama yolumuz var. Kullanım amaçlarına bağlı olarak hepsini kullanabilirsiniz ama kodlar uzadıkça “ya acaba bunu tanımlamış mıydım yukarılarda bir yerlerde” dememek adına aynı zamanda daha az hatayla karşılaşmamak adına ben sadece const ve let kullanıyorum. Dediğim gibi var kullanmak yanlış değil doğru ama yukarıda ne yazdığınızı unutup hata alırsanız ben karışmam :))

Buraya kadar okuduğunuz için teşekkür ederim, sonraki yazıda görüşmek üzere sağlıcakla kalın..

--

--