我有一个像下面这样的循环:
const bar = {a: 1, b: 2}
for (const k in bar) { //Throws in Firefox but not Chrome 54
console.log(k)
}
这是一个错误吗?还是规范中的灰色区域?
是的,这似乎是Firefox中的错误。该规范允许使用const
:
IterationStatement:
for(ForDeclaration in Expression) Statement
ForDeclaration:
LetOrConst ForBinding
ForBinding:
BindingIdentifier
BindingPattern
(被截断并简化)
似乎Firefox错误地将ForDeclaration解释为LexicalBinding。
相关:ECMAScript 2015:for循环中的const
这似乎是此问题的错误报告:https : //bugzilla.mozilla.org/show_bug.cgi?id=1101653。
正确let
且const
即将使用Firefox:https://twitter.com/evilpies/status/768881995912994816
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句