Typescript let var const farkı 25.12.2017

Merhaba arkadaşlar, Typescript 'te ecmasript 6 ile gelen var , let ve const değişken tanımlamaları ne zaman ve nasıl kullanılır kısaca bundan bahsedeceğim;

const:

Ben şahsen kodumun temiz ve basit olmasına özen gösteririm ve kullanacağım değeri tek bir değişkene atarım, bu sebeple const ile tanımlamaya öncelik veririm. Const ile tanımlanan değişkenler tekrardan değiştirilemezler ve temiz kod yazmamıza yardımcı olur. 

Değiştirilebilir olmasını istiyorsak o zaman let kullanmak uygun olur. Scope faydasından dolayı let öncelikli var en son olarak kullanımı tavsiye ediyorum.

 

Var vs let:

Öncelikle aralarındaki SCOPE farkı çok önemli , var ile tanımlanan değişken fonksiyon scope una dahil olurken let ile tanımlanan değişken fonksiyon içerisinde tanımlandığı blok scope una ait olmaktadır. Bir örnekle açıklamak gerekirse;

 

function letFunc() {

//i değişkeni burada görünmez

for( let i= 0; i < 5; i++ ) {

//i değişkeni sadece burada görünür ve for() içersinde görünür

//ve i değişkeni döngüdeki her bir artış için ayrı seçilir

}

//i değişkeni burada görünmez

}



function varFunc() {

// z değişkeni burada görünür

for( let i= 0; i < 5; i++ ) {

// z değişkeni bütün fonksiyonda görünür

}

//z değişkeni burada görünür

}

 

ikinci fark 'strict' modunda ortaya çıkıyor, let ile tanımlanan değişken yeniden oluşturulamıyor

'use strict';

let name = 'Tamer';

let name = 'Cafer'; // SyntaxError: Identifier 'name' has already been declared

 

Üçüncü farkı ise let ile tanımlanan değişken window objesine özellik olarak eklenmez;

window.name // özellik erişilemez