Свойства глобального объекта — это идентификаторы, которые определяются глобально и могут использоваться в любом месте программы 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)