22 Mart 2020 Pazar

JavaScript var, let ve const

  Hiç yorum yok
Bugünkü yazımda JavaScript'teki var, let ve const değişkenler arasındaki farkları anlatacağım. Eğer ki beğenirsen yazımı paylaşabilirsin.

js_var_let_const

ECMAScript, JavaScript dilinin standartını belirleyen script dilidir. Tüm tarayıcılar şu an ES5 sürümünü destekliyor. ES6 ile birlikte "let" ve "const" değişkenleri geldi. Fakat tarayıcıların anlayacağı bir dile çevirmek için "Babel" adlı bir js compiler(derleyici) devreye giriyor.

https://caniuse.com/#search=es6 sitesinden hangi tarayıcı sürümlerinin ES6'yı desteklediğine bakabilirsin. Evet, asıl konumuza geçebiliriz.

var: "var" ile tanımladığımız değişkenin kapsamı içinde tanımladığı fonksiyon ile sınırlıdır. Eğer ki fonksiyon dışında tanımlanırsa global scope olur.
Özet: "var" değişkeni function scope'tur.

var a=5; // var ile global olarak tanımladık

function y(){
    console.log(a);
}
y();

//Konsol ekranında bize 5 rakamını gösterecektir.

let: Sonradan değiştirilebilir, sadece bir kez tanımlanabilir. "let" veya "const" ile tanımlanan değişkenin kapsamı block içerisinde sınırlıdır. Block'tan kastım {} süslü parantezdir.
Özet: "let" ve "const" değişkeni block scope'tur.


{
    let pi=3.14; //block scope
}

console.log(pi); // pi değişkeni bulunamadı hatasını verecektir

const: "constant" kelimesinden gelir sabit anlamındadır. "let" değişken tanımlamasından farkı "const" ile değişken tanımlarsanız değerini sonradan değiştirememenizdir.
Özet: "let" ve "const" değişkeni block scope'tur.

const pi=3;
console.log(pi);
// 3 sonucu verecektir

pi=3.14;
console.log(pi);
//const ile tanımladığımız değişkene yeniden değer ataması yaptığımızdan 
//"Uncaught TypeError: Assignment to constant variable" hatası aldık.

Peki "var" veya "let" hangisini seçmeliyiz?

JavaScript'te değişkenlerimizi global olarak tanımlamamalıyız. Çünkü global değişkenler işi bitince bellekten silinmez. Ve global olarak "var" tanımladığımızda istediğimiz yerden değiştirmemizi mümkün kılıyor. ES6 ile "let" kullanılarak tanımlanan değişkenin kapsamı, tanımlandığı kod bloğuyla sınırlıdır. Yani block scope'tur. "var" kullanacağınız yerler elbette olacaktır fakat "let" kullanmak daha güvenli bir değişken tanımlama yöntemidir.

Evet arkadaşlar bugün JavaScript'teki var, let ve const değişkenlerini anlatmaya çalıştım. Sonraki derslerde görüşmek dileğiyle.

Hiç yorum yok :

Yorum Gönder