Свойства глобального объекта — это идентификаторы, которые определяются глобально и могут использоваться в любом месте программы JavaScript. При запуске интерпретатора JavaScript (или при загрузке новой страницы в браузере) создается новый глобальный объект и к нему добавляется набор исходных свойств. К этим первоначальным свойствам относятся:

  • Глобальные константы, такие как undefined, Infinity и NaN.
  • Глобальные функции, такие как isNaN(), parseInt() и eval().
  • Функции конструктора, такие как Date(), RegExp(), String(), Object() и Array().
  • Глобальные объекты, такие как Math и JSON.

Начальные свойства глобального объекта не являются зарезервированными словами, но их следует рассматривать как таковые.

В Node.js глобальный объект имеет свойство с именем global, которое ссылается на сам глобальный объект. Таким образом, в программе Node.js вы всегда можете обратиться к глобальному объекту, используя global.

В веб-браузере объект Window служит глобальным объектом для всего кода JavaScript в окне браузера. Этот глобальный объект Window имеет самоссылающееся свойство window, которое можно использовать для доступа к глобальному объекту. Объект Window определяет основные глобальные свойства, а также некоторые другие глобальные значения, специфичные для браузерного и клиентского JavaScript.

ES2020 представил globalThis как стандартизированный способ ссылки на глобальный объект в любом контексте. К началу 2020 года эта функция была реализована во всех современных браузерах и Node.js.

(Мягкие навыки для программистов: amazon.com/dp/B0CF599P8J)