无法理解 javascript 中 const 的用法

the*_*12t 0 javascript

我对 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 变量,它可以改变吗?

我在这里误解了什么..?

Cer*_*nce 5

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标识符对于循环的每次迭代都是本地的。