Что выведет код Junior Области видимости и замыкания обновлено

Временная мёртвая зона

Вопрос

Что выведет код? По строке на каждый вывод.

try {
  console.log(x);
  let x = 1;
} catch (e) {
  console.log(e.constructor.name);
}

Попробуйте сами

Напишите, что выведет код: каждый вывод с новой строки.

Показать ответ и разбор

Коротко

Код выведет: ReferenceError. Почему так let/const поднимаются, но до строки объявления находятся в TDZ - обращение бросает ReferenceError (а не undefined, как у var).

Что выведет

ReferenceError

Разбор

Почему так

let/const поднимаются, но до строки объявления находятся в TDZ - обращение бросает ReferenceError (а не undefined, как у var).

Вывод

ReferenceError

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.