22 lines
2.6 KiB
Markdown
22 lines
2.6 KiB
Markdown
---
|
||
sidebar_position: 7
|
||
---
|
||
|
||
# Глобальный объект
|
||
Глобальный объект предоставляет переменные и функции, доступные в любом месте программы. По умолчанию это те, что встроены в язык или среду исполнения.
|
||
|
||
В браузере он называется `window`, в Node.js — `global`, в другой среде исполнения может называться иначе.
|
||
|
||
Недавно `globalThis` был добавлен в язык как стандартизированное имя для глобального объекта, которое должно поддерживаться в любом окружении.
|
||
|
||
В браузере глобальные функции и переменные, объявленные с помощью `var` (не `let/const`!), становятся свойствами глобального объекта:
|
||
|
||
- Глобальный объект хранит переменные, которые должны быть доступны в любом месте программы.
|
||
- Это включает в себя как встроенные объекты, например, Array, так и характерные для окружения свойства, например, window.innerHeight – высота окна браузера.
|
||
- Глобальный объект имеет универсальное имя – globalThis.
|
||
- …Но чаще на него ссылаются по-старому, используя имя, характерное для данного окружения, такое как window (браузер) и global (Node.js).
|
||
- Следует хранить значения в глобальном объекте, только если они действительно глобальны для нашего проекта. И стараться свести их количество к минимуму.
|
||
- В браузерах, если только мы не используем модули, глобальные функции и переменные, объявленные с помощью var, становятся свойствами глобального объекта.
|
||
- Для того, чтобы код был проще и в будущем его легче было поддерживать, следует обращаться к свойствам глобального объекта напрямую, как window.x.
|
||
|
||
🚀 **Источник: [https://learn.javascript.ru/global-object](https://learn.javascript.ru/global-object)** |