var a;
if (true) {
a = 5;
function a() {}
a = 0;
console.log(a)
}
console.log(a)
Yukarıdaki kodu gördüm, bir fonksiyon {} 'da bildirildi. Bence 0 0 basar, ama 0 5 basar
Bu sorunuza cevap veriyor mu? ES6'daki blok seviyesi işlevlerinin kesin semantiği nedir?
—
Jonas Wilms
Katı modda günlüğe kaydeder
—
CertainPerformance
0 undefined.
@certainPerformance iyi, bu açıklanabilir, ancak
—
Jonas Wilms
a = 5bloğu bıraktığını açıklayamıyorum . Dupe bergi göre, çekilecek function a.
Yerel olarak kapsamlandırılmış blok değişkeni, işlev bildirimine ulaşırken dış bloğa kopyalanıyor gibi görünüyor.
—
Jonas Wilms