以下两个(或两个/两个)代码片段中的哪一个应该在完整的ECMAScript 2015实现中工作:
for (const e of a)
for (const i = 0; i < a.length; i += 1)
根据我的理解,第一个例子应该有效,因为e每次迭代都会初始化.i在第二个版本中是否也应该如此?
我很困惑,因为现有的实现(Babel,IE,Firefox,Chrome,ESLint)似乎并不一致,并且具有const两种循环变体的各种行为的完整实现; 我也无法在标准中找到具体的观点,因此我将非常感激.
我对 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 变量,它可以改变吗?
我在这里误解了什么..?