Вопрос проверяет понимание того, где и как выполняется код в браузере и что считается глобальной областью видимости.
В браузере глобальным контекстом выполнения является объект window. Все глобальные переменные и функции становятся его свойствами. Код, написанный вне функций и модулей, выполняется именно в этом контексте. Через глобальный контекст браузер предоставляет доступ к API, таким как document, location и setTimeout.
Чтобы понимать поведение кода, важно знать, где он “живёт”.
Определение: Глобальный контекст выполнения — это базовый контекст, в котором выполняется код вне функций, и который создаётся при загрузке страницы.
В браузере глобальным объектом является window:
глобальные переменные (var a = 1)
глобальные функции
Web API (document, history, location)
таймеры (setTimeout, setInterval)
var x = 10;
console.log(window.x); // 10
let и constПеременные, объявленные через let и const:
находятся в глобальной области видимости,
но не становятся свойствами window.
let y = 5;
console.log(window.y); // undefined
понимание конфликтов имён
работа со сторонними скриптами
диагностика утечек глобального состояния
Вывод: в браузере глобальный контекст выполнения связан с объектом window, который хранит глобальные данные и предоставляет Web API.