这是firefox开发者版中的错误吗?

时间:2016-07-08 04:00:03

标签: javascript firefox console.log referenceerror firefox-developer-edition

看看下面的代码:

var c = 50;

{
    console.log(y);
    let y = 50;
}

此代码应该抛出一个ReferenceError,它确实会抛出。但是在控制台中,附带异常的消息只是让我大吃一惊。它说:

  

ReferenceError:在初始化之前无法访问词法声明'c'

代码c是声明的第一个变量。错误消息表明c的声明有问题。它显然是块内的y变量,导致异常。我们不能在声明之前使用使用let声明的变量。当我在第一行声明另一个变量时,例如test,错误消息将变为:

  

ReferenceError:初始化之前无法访问词法声明'test'

我错过了什么或者我对这个错误是对的吗?我有最新的Firefox Developer Edition(版本49.0a2)。

值得注意的另一件事是块只是一个封闭块,它不是函数体。

1 个答案:

答案 0 :(得分:1)

此帖子是根据this meta post制作的,而不是关闭(请参阅this)。

正如@Martin Smith@Sam Onela所说(12),此问题已在第53/54版中得到解决。 Relevant bugzilla report,由Devashish制作(原创海报)。