Что произойдёт в Node.js и в браузере, если обратиться к global и выполнить global.foo = 'bar'?

В Node.js global обозначает глобальный объект, а в обычном браузере переменной global нет и обращение обычно вызовет ReferenceError.

Короткий ответ

Что ответить на собеседовании

В Node.js global обозначает глобальный объект, а в обычном браузере переменной global нет и обращение обычно вызовет ReferenceError.

Подробный разбор

Ответ с пояснениями

Условие

Что произойдёт в Node.js и в браузере, если обратиться к global и выполнить global.foo = 'bar'?

Ответ

В Node.js global обозначает глобальный объект, а в обычном браузере переменной global нет и обращение обычно вызовет ReferenceError.

В Node присваивание global.foo = 'bar' создаст его свойство. Для переносимого обращения используют globalThis. Сборщик может добавить браузерный shim, поэтому результат зависит от окружения; глобальные переменные лучше не использовать для обычного состояния приложения.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее