SyntaxError: missing = в объявлении const Firefox 50 У меня есть цикл, как показано ниже: const bar = {a: 1, b: 2} for (const k in bar) { //Throws in Firefox but not Chrome 54 console.log(k) } Это ошибка? Или, может быть, серая область в спецификации? Ответ 1 Да, это похоже на ошибку в Firefox. Спецификация позволяет использовать const: IterationStatement: for(ForDeclaration in Expression) Statement ForDeclaration: LetOrConst ForBinding ForBinding: BindingIdentifier BindingPattern (усеченный и упрощенный) Похоже, что Firefox неправильно интерпретирует ForDeclaration как LexicalBinding. Связано: ECMAScript 2015: const in for loops Это похоже на отчет об ошибке для этой проблемы: https://bugzilla.mozilla.org/show_bug.cgi?id=1101653. Соответствующие let и const поступают в Firefox: https://twitter.com/evilpies/status/768881995912994816
Ответ 1 Да, это похоже на ошибку в Firefox. Спецификация позволяет использовать const: IterationStatement: for(ForDeclaration in Expression) Statement ForDeclaration: LetOrConst ForBinding ForBinding: BindingIdentifier BindingPattern (усеченный и упрощенный) Похоже, что Firefox неправильно интерпретирует ForDeclaration как LexicalBinding. Связано: ECMAScript 2015: const in for loops Это похоже на отчет об ошибке для этой проблемы: https://bugzilla.mozilla.org/show_bug.cgi?id=1101653. Соответствующие let и const поступают в Firefox: https://twitter.com/evilpies/status/768881995912994816