下面的两个(或两个都不是)代码片段中的哪一个应该在完整的 ECMAScript 2015实现中工作:
for (const e of a)
for (const i = 0; i < a.length; i += 1)
根据我的理解,第一个示例应该可以工作,因为每次迭代都会初始化 e
。第二个版本的 i
不也是这样吗?
我感到困惑是因为现有的实现(Babel,IE,Firefox,Chrome,ESLint)似乎并不一致,而且有一个完整的 const
实现,有两个循环变体的不同行为; 我也无法在标准中找到一个具体的点,所以这将是非常感激的。