Я знаю, что приведенный ниже фрагмент кода приводит к ReferenceError:
console.log(b);
let b = 3;
И я читал, что не получится, если мы будем использовать var
вместо let
.
Документация MDN утверждает, что декларации let тоже подняты, но они не инициализированы
Что меня смущает, так это инициализация, как это может иметь значение, когда мы говорим о ReferenceError.
В приведенном ниже коде инициализация
let b;
console.log(b);
b = 3;
записывается после console.log(b)
, но это не делает ReferenceError, поэтому не имеет смысла говорить, что в первомисключение фрагмента выдается, потому что переменная не инициализирована.
Может ли кто-нибудь прояснить эти вещи, пожалуйста?