Typescriptte tip belirtsek de belirtmesekte arka planda yine Var'a mı dönüşüyor?

  • Konuyu başlatan 533388
  • Başlangıç Tarihi
  • Mesaj 26
  • Görüntüleme 633
let sadece scopta geçerli. var tüm fonksiyon içerisinde geçerli.

Örneğin for'u ele alalım. let ile kullandığımda hata alacağım eğer for parantezinin dışında;
JavaScript:
function foo() {
    for(let i = 0; i < 5; i++) {
        console.log(i);
    }
    i = 10; // error
}
Eğer var ile kullanırsam hiç bir sorun yaratmayacak.
JavaScript:
function foo() {
    for(var i = 0; i < 5; i++) {
        console.log(i);
    }
    i = 10;
}
 
let sadece scopta geçerli. var tüm fonksiyon içerisinde geçerli.

Örneğin For'u ele alalım. Let ile kullandığımda hata alacağım eğer for parantezinin dışında;
JavaScript:
function foo() {
 for(let i = 0; i < 5; i++) {
 console.log(i);
 }
 i = 10; // error.
}
Eğer var ile kullanırsam hiçbir sorun yaratmayacak.
JavaScript:
function foo() {
 for(var i = 0; i < 5; i++) {
 console.log(i);
 }
 i = 10;
}

Hocam teşekkür ederim ben bunu biliyorum, sorum galiba tam anlaşılmamaıiş typescriptte neden let ile tanımladığım ya da const ile tanımladığım değişken Var'a dönüşüyor onu merak ediyorum.
 
Hocam teşekkür ederim ben bunu biliyorum, sorum galiba tam anlaşılmamaıiş typescriptte neden let ile tanımladığım ya da const ile tanımladığım değişken Var'a dönüşüyor onu merak ediyorum.
var'a dönüşmüyor? npx tsc ile yazdığım let olanı derledim, hala js'te let olarak görüyorum.
1704638744711.gif
 
Derlemeye çalıştığın kodu atsana bir.
Typescript:
Kod:
function foo() {
    let a = 12;
    console.log(a);
}

foo();
Javascript çıktısı:
JavaScript:
function foo() {
    var a = 12;
    console.log(a);
}
foo();

Not:Const ile de denediğimde var oluyor.
 
Typescript:
Kod:
function foo() {
    let a = 12;
    console.log(a);
}

foo();
Javascript çıktısı:
JavaScript:
function foo() {
    var a = 12;
    console.log(a);
}
foo();

Not:Const ile de denediğimde var oluyor.
Bugdur muhtemelen. Böyle çıkması çok anlamsız çünkü. Dosyayı kaydettiğine emin misin? İlk varla yazmışsındır sonra dosyayı kaydetmemişsindir belki? Çünkü const eğer var oluyorsa değişkenin anlamı değişiyor ve yapılmaması gereken şeyler yapılabilir hale geliyor demek oluyor bu.
 

Technopat Haberler

Geri
Yukarı