JavaScript var, let, const arasındaki farklar

var, let, const Arasındaki Farklar, let Ve const Terimleri es6 İle Hayatımıza Giren İki Farklı keword dür. es6 Öncesi var İle Tanımladığımız Değişkenleri es6 Sonrasında let Ve const İle Tanımlamaya Başladık. Peki Bu İki Terim Neden es6 İle Geldi Derseniz. 

var Terimi Çok Satırlı Projelerde Sorun Yaratabiliyordu. Aynı İsimli Değişkeni İki Veya Üzeri Tanımlayabiliyorduk Bunada var Terimi İzin Veriyordu Ve Her Yeni Tanımladığımız Değişken Bir Öncekini Eziyordu, Yok Sayıyordu Buda Yer Yer Kullanımına Göre Hatalar Çıkarabiliyordu.

es6 Sonrasında Gelen let Ve const keword leri Bu Karmaşıklığı Ortadan Yok Edebiliyor. Fakat Şuanda Her Tarayıcı es6 Yı Tanımıyor. Peki Tarayıcılar es6 Yı Taramıyorsa Ne İşimize Yaracak Derseniz. Babel Gibi Dönüştürücüler Sayesinde Projelerimizi, Yazdığımız Kodları es6 Ya Göre Yazıyoruz Babel de es6 Yı es5 E Göre Yorumlayabiliyor.

Şimdi Örneklerle Gelelim Farklarına;

var

var keword ü İle Tanımladığımız Değişkenler Aynı İsimle iki Veya Daha Fazla Tanımlanabiliyordu. Her Yeni Tanımlanan Değişkende Bir Öncekini Eziyordu, Yok Sayıyordu.

var pirasa = "Sebze";
var pirasa = "Meyve";

console.log(pirasa);

Yukarıdaki Örnekta console.log() İle consol a Yazdığımız pirasa Değişkeninin Ekrana Çıktısı Meyve Olacaktır. Fakat Aynısını let Veya const İle Yaptığımızda Hata Verecektir.

let

let keword ü İle Tanımladığımız Değişkenlerde Eğer Değişkene Atanan Değeri Proje İçersinde Değiştirmek Gerekecekse Ozaman let İle Değişkeni Tanımlayabiliriz.

let armut = "Meyve";
let armut = "Sebze";

console.log(armut);

Bu Kullanım Bize armut değişkeni Zaten Tanımlı Diye Bir Hata Döndürecektir. Fakat Dediğimiz Gibi Değişkenin Değerini Değiştirmemiz Gerekiyor Ve Bunu Bilerek let keword ü Tanımladık. Ozaman Değişkene Yeni Bir Değer Atarken let İfadesini Kullanmadan Değişkene Değer Atayabiliriz.

let ananas = "Sebze";
ananas = "Meyve";

console.log(ananas);

Yukarıdaki let Kullanımında console.log() İle consol A ananas Değişkenini Yazdırdığımızda Meyve Çıktısını Almış Olacağız.

const

const keword ü İle Tanımladığımız Bir Değişken, Birdaha Proje Boyunca Tekrar Değer Tanımlayamayacağımız Değişkenlerdir.

const domatis = "kırmızı";
const domatis = "sarı";

console.log(domatis);

Yukarıdaki const İle Tanımlanan Ve consol A Yazdırılan domatis Değişkeni, Daha Önce Tanımlanmış Değişken Olarak Hata Verdirecektir. Bir Başka Hatalı Tanımlamayada Örnek Gösterelim.

const pattis = "altın gibi";
pattis = "kızartmalık";

console.log(pattis);

Yukarıdaki Tanımlama da Hatalıdır. Yani const İle Tanımlanmış Bir Değişken Birdaha Yeni Değer Atanmak İçin KULLANILAMAZ. Fakat Bir array Tanımlandıysa Ve Bu array in İçine Değer DEĞİŞTİRMEDEN, EKLEMEK İstiyorsak Bunu Başarabiliriz.

const a = [1,2,3];
a.push(4);

Bu Kullanım const İçin Uygulayabiliriz. Değişkenin Değerini Değiştirmeden Bir Ekleme Yapmak İstiyorsak Buna Olanak Sağlıyor. a Değişkenini consol A Yazdırdığımız Zaman [1,2,3,4] console Çıktısı Alacağız.