Ana sayfa Genel Javascript – ES6 ile beraber gelen Let ve Const Nedir ?

Javascript – ES6 ile beraber gelen Let ve Const Nedir ?

9643
1
PAYLAŞ

Herkese Merhaba,

Bildiğiniz üzere Javascript son zamanlarda iyice popüleritesini artıran ve sürekli yeni standartlarla güncellenen bir programlama dili. Bu yazımızda ES6 ile beraber gelen ve değişken tanımlamak için kullanılan let ve const anahtar kelimelerini ve Javascriptin ilk çıktığı zamanlardan beri kullanılan var anahtar kelimesiyle olan farklıları göreceğiz.

Şimdi ilk olarak Javascriptteki scope’un(kapsamın) ne anlama geldiğini anlamaya çalışalım.

Scope(Kapsam) Kavramı

Scope veya kapsam bir değişkenin program devam ederken nerelerde var olduğunu anlatmak için kullanılan bir kavramdır ve Javascriptte 3 farklı scope bulunmaktadır.

Global Scope

Global Scopeta tanımlanan bir değişkene her yerden ulaşılabilir.

Function Scope

Fonksiyonların içinde tanımlanan değişkenler sadece fonksiyonun içinde var olur ve yalnızca fonksiyon içinden erişilebilirler.

Block Scope

Block Scope ise if,while benzeri blokları simgeler. İşte burada var,let ve const’un farklarına bakmaya başlayabiliriz.

var Anahtar Kelimesi

var anahtar kelimesiyle tanımlanan bir değişken aynı isimle birden fazla kez tanımlanabilir ve block scopeta tanımlanmışsa bile global scopeta var olmaya devam eder.

Örnekler:

var ile tanımlanan değişkenlerin tekrar tekrar aynı isimle tanımlanmaları kaynak kod uzadıkça isim karışmasına ve düzensizliğe sebep olabilir. Bir de şu örneğe bakalım.

Programlarımızda bir değişkenin sadece o anki blokta var olmasını istediğimizde burada yine var kullanımının sıkıntısını çekiyoruz.

let Anahtar Kelimesi

let anahtar kelimesiyle tanımlanan değişkenler sadece aynı isimle bir defa tanımlanabilir ve Block Scopeta tanımlandığında sadece o blokta var olur. Burada let anahtar kelimesinin var ile farkını görebiliyoruz.

Örnekler:

const Anahtar Kelimesi

Javascriptte const ile tanımlanan bir değişken sadece bir defa tanımlanabilir ve programın ileriki kısımlarda direk olarak bu değişkene değer ataması yapılamaz.

Ancak Javascriptte const anahtar kelimesiyle tanımlanan değişkenlerin değeri dolaylı yollardan (direk atama yapılmadan) değiştirilebilir.

Hangisini Kullanalım ?

Aslında yazılımcılığın doğasında kararlarda özgür olma vardır. Bir yazılımcı hangi yöntemi kullanmak isterse onu kullanır. Kesin yargılar ve “bunu kullanın” gibi söylemler yanlış olabilir. Ancak farkettiyseniz var anahtar kelimesinin 2 tane önemli dezavantajı bulunuyor. Bu dezavantajlar programlarımızda sıkıntı çıkarabileceğinden ihtiyacımıza göre sadece let veya const kullanarak Javascriptte geliştirme yapmaya devam edebiliriz.

1 YORUM

BİR CEVAP BIRAK

Please enter your comment!
Please enter your name here