我们可以let
在for
循环中使用语句,具有多个变量赋值,例如:
for (let x = 0, y = 0; x < 10; ++ x);
但是,如果我们从另一个变量中引用一个变量,我们就会开始在实现中出现差异; 以下结果导致Chrome中的工作代码,但Firefox中的ReferenceError:
for (let x = 0, y = x; x < 10; ++ x);
在整个表达式被解析之后,Firefox似乎不会分配x
到y
under,而Chrome会立即执行.请注意,以下内容适用于两种浏览器(for
块外的相同语句):
let x = 0, y = x; // x = 0, y = 0
似乎Firefox的实现是不正确的(特别是考虑到for
块外的情况),但ES6规范对此有何看法?这是否需要(或已经)报告过?