Files
frontend-docs/docs/javascript/04-functions/07-global-object.md
2025-03-05 12:33:59 +03:00

2.5 KiB
Raw Blame History

sidebar_position
sidebar_position
7

Глобальный объект

Глобальный объект предоставляет переменные и функции, доступные в любом месте программы. По умолчанию это те, что встроены в язык или среду исполнения.

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

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

В браузере глобальные функции и переменные, объявленные с помощью var (не let/const!), становятся свойствами глобального объекта:

  • Глобальный объект хранит переменные, которые должны быть доступны в любом месте программы.
  • Это включает в себя как встроенные объекты, например, Array, так и характерные для окружения свойства, например, window.innerHeight высота окна браузера.
  • Глобальный объект имеет универсальное имя globalThis.
  • …Но чаще на него ссылаются по-старому, используя имя, характерное для данного окружения, такое как window (браузер) и global (Node.js).
  • Следует хранить значения в глобальном объекте, только если они действительно глобальны для нашего проекта. И стараться свести их количество к минимуму.
  • В браузерах, если только мы не используем модули, глобальные функции и переменные, объявленные с помощью var, становятся свойствами глобального объекта.
  • Для того, чтобы код был проще и в будущем его легче было поддерживать, следует обращаться к свойствам глобального объекта напрямую, как window.x.