Встречается на собеседованиях • сегодня

В чем разница между блочной и функциональной областями видимости

Блочная область видимости (ES6+) ограничивается блоком кода {} (if, for, let/const). Функциональная - ограничена функцией (var).

Пример:

javascript
function funcScope() {
  if (true) {
    var a = 1; // function-scoped
    let b = 2; // block-scoped
  }
  console.log(a); // 1 (доступно)
  console.log(b); // ReferenceError
}

Ключевые отличия:

  1. var имеет функциональную область, let/const - блочную
  2. var всплывает (hoisting), let/const нет (временная мертвая зона)
  3. В цикле var создает одну переменную на все итерации, let - новую для каждой
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы