为什么JavaScript const适用于in循环

Ren*_*V K 1 javascript variables for-in-loop ecmascript-6

为什么要使用JavaScript const的作品一样letfor in循环?const用于在EC6中声明常量.那么为什么const num价值在每次迭代中得到更新for in

为了让我们

for (let num in nums) {
    console.log(num); // works well, as usual
}
Run Code Online (Sandbox Code Playgroud)

适用于const

for (const num in nums) {
    console.log(num); // why const value getting replaced
}
Run Code Online (Sandbox Code Playgroud)

Ber*_*rgi 8

为什么const num值会在每次迭代中得到更新for in

它没有得到更新.与之类似let,它的作用域是循环块,并const在每次迭代时创建一个新变量,并使用相应的属性键进行初始化.