Зачем это спрашивают
В браузере глобал — window. Чем больше туда пишете, тем выше шанс конфликтов и утечек.
Риски
- Коллизии имён между скриптами и библиотеками.
- Случайные зависимости от глобалов → хрупкость и плохая переносимость.
- Замыкания/слушатели держат глобальные ссылки → утечки памяти.
- XSS и сторонний код видят всё, что лежит в global.
- Сложнее тестировать и tree-shake'ить.
Практика: модули ES, локальные переменные, явная передача зависимостей. Глобал — только для настоящей точки интеграции (редко).
Итог
Минимальный global namespace = меньше багов при сборке страницы из многих скриптов. Модули решают это по умолчанию.
На собеседовании
Ожидают не заученную таблицу, а умение связать концепцию с багом из практики: что сломается, если выбрать неправильный вариант, и какой код вы напишете в реальном PR. Короткий пример и граничный случай обычно ценятся выше длинной теории.