Skip to content

Commit a20791e

Browse files
authored
👾 update article about global object
1 parent 7e4f329 commit a20791e

File tree

1 file changed

+3
-2
lines changed
  • 1-js/06-advanced-functions/05-global-object

1 file changed

+3
-2
lines changed

1-js/06-advanced-functions/05-global-object/article.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

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

8-
Недавно `globalThis` был добавлен в язык как стандартизированное имя для глобального объекта, которое должно поддерживаться в любом окружении. В некоторых браузерах, например в старой версии Edge который не был на Chromium, `globalThis` ещё не поддерживается, но легко реализуется с помощью полифила.
8+
Недавно `globalThis` был добавлен в язык как стандартизированное имя для глобального объекта, которое должно поддерживаться в любом окружении. Он поддерживается во всех основных браузерах.
99

1010
Далее мы будем использовать `window`, полагая, что наша среда - браузер. Если скрипт может выполняться и в другом окружении, лучше будет `globalThis`.
1111

@@ -82,7 +82,8 @@ if (!window.Promise) {
8282
Это включает в себя как встроенные объекты, например, `Array`, так и характерные для окружения свойства, например, `window.innerHeight` -- высота окна браузера.
8383
- Глобальный объект имеет универсальное имя -- `globalThis`.
8484

85-
...Но чаще на него ссылаются по-старому, используя имя, характерное для данного окружения, такое как `window` (браузер) и `global` (Node.js). Так как `globalThis` появился недавно, он не поддерживается в IE и Edge (не-Chromium версия), но можно использовать полифил.
85+
...Но чаще на него ссылаются по-старому, используя имя, характерное для данного окружения, такое как `window` (браузер) и `global` (Node.js).
86+
8687
- Следует хранить значения в глобальном объекте, только если они действительно глобальны для нашего проекта. И стараться свести их количество к минимуму.
8788
- В браузерах, если только мы не используем [модули](info:modules), глобальные функции и переменные, объявленные с помощью `var`, становятся свойствами глобального объекта.
8889
- Для того, чтобы код был проще и в будущем его легче было поддерживать, следует обращаться к свойствам глобального объекта напрямую, как `window.x`.

0 commit comments

Comments
 (0)