🧩 Задача на область видимости
При запуске кода в консоли —
❓ Почему, если ветка `if (false)` даже не выполняется:
❤️ — Переменная
🔥 —
⚡️ — Ошибка синтаксиса при объявлении
🐸 Библиотека фронтендера
#code_challenge #js
При запуске кода в консоли —
ReferenceError.❤️ — Переменная
a находится во временной мёртвой зоне (TDZ)🔥 —
let внутри блока не создаёт TDZ⚡️ — Ошибка синтаксиса при объявлении
#code_challenge #js
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14⚡4🔥2
Раннее мы выкладывали задачу
Правильный ответ:
JS делит выполнение на две фазы:
1. Инициализация (создание окружения) — компилятор видит
let a = 2 внутри функции и создаёт для неё локальную переменную a.2. Выполнение — когда доходит до
console.log(a), движок уже знает о локальной a, но она ещё не инициализирована.⚠️ Поэтому обращение к ней до строки
let a = 2 вызывает ReferenceError, даже если код в if не выполнится.#code_challenge #js
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤6👍2