【发布时间】:2017-03-13 01:36:36
【问题描述】:
当我在 Firefox 52 Scratchpad 中运行以下代码时会产生错误:
function scope() {
let x = 1;
}
let x = 2;
/*
Exception: SyntaxError: redeclaration of let x
@Scratchpad/8:1:1
*/
如何解释?第一个x应该封装在函数中,不干扰第二个声明。
在 Chrome 中将此代码作为 sn-p 运行,或在 Firefox 中带有 <script> 标记的 HTML 页面内运行不会触发异常。也可以将它包装在一个函数中,甚至是一对{} 括号消除了这个问题。
这可能是 Scratchpad 中的错误吗?
【问题讨论】:
-
解决方案:
{ code } -
Firefox 计划最终允许控制台重新声明:discourse.mozilla.org/t/….
标签: javascript firefox ecmascript-6