我对 javascript 中如何使用 const 感到困惑。
for (let stat of allStats){
const index = allStats.indexOf(stat);
console.log(filenames[index], stat.isFile());
}
Run Code Online (Sandbox Code Playgroud)
例如在上面的代码中,for 循环中的“const index”在每次迭代中都被分配了不同的值。这怎么可能。我的意思是一旦一个值被分配给一个 const 变量,它可以改变吗?
我在这里误解了什么..?
constonly 意味着不能重新分配const 在其可见范围内声明的标识符。
在这里,循环的每次迭代都有一个不同的绑定index——index每次迭代都有一个单独的绑定,所以没有变量被重新分配。
另一种看待它的方式:
function parseStat(stat) {
const index = allStats.indexOf(stat);
console.log(filenames[index], stat.isFile());
}
for (let stat of allStats){
parseStat(stat);
}
Run Code Online (Sandbox Code Playgroud)
也很好 -index标识符对于parseStat函数来说是本地的,就像在您的原始代码中一样,index标识符对于循环的每次迭代都是本地的。
| 归档时间: |
|
| 查看次数: |
35 次 |
| 最近记录: |