Это ошибка в редакторе разработчиков firefox?

Взгляните на приведенный ниже код:

var c = 50;

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

Этот код должен вызывать ReferenceError, и он делает это. Но в консоли сообщение, прикрепленное с исключением, просто взорвало мой разум. В нем говорится:

ReferenceError: не удается получить доступ к лексическому объявлению 'c' перед инициализацией

В коде c объявлена ​​первая переменная. Сообщение об ошибке указывает, что что-то не так с объявлением c. Это явно переменная y внутри блока, вызывающая исключение. Мы не можем использовать переменные, объявленные с помощью let до его объявления. Когда я объявляю другую переменную в первой строке, скажем test, сообщение об ошибке изменяется на:

ReferenceError: не удается получить доступ к лексическому объявлению 'test' перед инициализацией

Я что-то упустил или я прав об ошибке? У меня есть последняя версия Firefox Developer Edition (версия 49.0a2).

Еще одна вещь, заслуживающая внимания, состоит в том, что блок является просто закрывающим блоком, а не телом функции.

Ответы