В чем разница между globalThis и window

«В чем разница между globalThis и window» — вопрос из категории JavaScript, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

globalThis — это стандартизированный способ доступа к глобальному объекту в любом окружении (браузер, Node.js, Web Workers и т. д.). В браузере globalThis ссылается на window, в Node.js — на global, а в Web Workers — на self.

window — это глобальный объект только в браузерном окружении. Он содержит DOM, BOM и другие специфичные для браузера API.

// Браузер:
console.log(globalThis === window); // true

// Node.js:
console.log(globalThis === global); // true

Используйте globalThis для кросс-платформенного кода, а window — только для браузерных скриптов.