Learning Book

Scope, Hoisting и TDZ

Лексическое окружение, поднятие переменных и функций, временная мёртвая зона

О чём эта глава

Понимание того, как JavaScript ищет переменные, — ключ к пониманию большинства «странностей» языка. Почему функции можно вызывать до объявления? Почему var ведёт себя не так, как ожидаешь в цикле? Почему let бросает ошибку до объявления, а typeof — нет?

Разберём механику изнутри: лексическое окружение, hoisting, TDZ и блочный скоуп.

Содержание

  1. Лексическое окружение и цепочка скоупов
  2. Hoisting: поднятие функций и переменных
  3. Временная мёртвая зона (TDZ)
  4. Блочный скоуп, IIFE и var-проблемы

Что ты научишься делать

  • Объяснять, как JavaScript ищет переменные по цепочке скоупов
  • Понимать, что реально происходит при «поднятии» переменных и функций
  • Избегать ошибок TDZ с let и const
  • Правильно использовать блочный скоуп для изоляции кода
  • Понимать IIFE и зачем он применялся до ES6

Связанные темы

Задания

Перейти к заданиям — 2 easy, 1 medium

Песочница

Открыть песочницу