Skip to content

Commit 0740a44

Browse files
authored
Merge pull request #712 from Andrii256/01-06-05-global-object
Fix global object (01-06-05)
2 parents 9cfc548 + d2443c5 commit 0740a44

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

  • 1-js/06-advanced-functions/05-global-object

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
# Глобальний об’єкт
33

4-
Глобальний обєкт надає змінні та функції, доступні в будь-якому місці програми. За замовчуванням ті, які вбудовані в мову або середовище.
4+
Глобальний об'єкт надає нам змінні та функції, які доступні в будь-якому місці програми. Типово це ті, які вбудовані в мову або середовище.
55

66
У браузері він має назву `window`, у Node.js -- `global`, для інших середовищ він може мати іншу назву.
77

@@ -25,7 +25,7 @@ var gVar = 5;
2525
alert(window.gVar); // 5 (змінна стала властивістю глобального об’єкта)
2626
```
2727

28-
Такий же ефект мають оголошення функцій (оператори з ключовим словом `function` у потоці основного коду, а не функціональні вирази).
28+
Так само стається з оголошеними функціями (function declaration). Тобто з використанням слова `function` в основному потоці коду, а не як в функціональних виразах.
2929

3030
Будь ласка, не покладайтесь на це! Така поведінка існує з міркувань сумісності. Сучасні скрипти використовують [JavaScript модулі](info:modules), де такого не відбувається
3131

@@ -51,7 +51,7 @@ window.currentUser = {
5151
alert(currentUser.name); // John
5252

5353
// або, якщо ми маємо локальну змінну з ім’ям "currentUser"
54-
// отримаймо явно з window (безпечно!)
54+
// отримаймо її з window безпосередньо (так безпечніше!)
5555
alert(window.currentUser.name); // John
5656
```
5757

@@ -61,14 +61,14 @@ alert(window.currentUser.name); // John
6161

6262
Ми використовуємо глобальний об’єкт для тестування підтримки сучасних мовних функцій браузером.
6363

64-
Наприклад, перевірте, чи існує вбудований об’єкт `Promise` (його немає у дуже старих браузерах):
64+
Наприклад, для перевірки чи існує вбудований об’єкт `Promise` (його немає у дуже старих браузерах):
6565
```js run
6666
if (!window.Promise) {
6767
alert("Твій браузер застарів!");
6868
}
6969
```
7070

71-
Якщо його немає (побачимо повідомлення: "Твій браузер застарів!"), ми можемо створити «поліфіли», щоб додати підтримку цього об’єкту. Додати функції, які не підтримуються середовищем, але існують у сучасному стандарті.
71+
Якщо його немає (побачимо повідомлення: "Твій браузер застарів!"), то ми можемо створити "поліфіли", щоб додати підтримку цього об’єкту. Тобто щоб додати функції, які не підтримуються середовищем, але існують у сучасному стандарті.
7272

7373
```js run
7474
if (!window.Promise) {
@@ -84,6 +84,6 @@ if (!window.Promise) {
8484
- Глобальний об’єкт має універсальну назву `globalThis`.
8585

8686
... Але частіше згадуються специфічні назви середовища "старої школи", такі як `window` (браузер) та `global` (Node.js).
87-
- Ми повинні зберігати значення у глобальному об’єкті, лише якщо вони дійсно глобальні для нашого проєкту. І тримати їх кількість мінімальною.
87+
- Ми повинні зберігати значення у глобальному об’єкті, лише якщо вони дійсно глобальні для нашого проєкту. І старатись писати код так, щоб таких значень було якомога менше.
8888
- В браузерах, якщо ми не використовуємо [модулі](info:modules), глобальні функції та змінні, оголошені за допомогою `var`, стають властивістю глобального об’єкта.
8989
- Для того, щоб код був простішим і в майбутньому його легше було підтримувати, слід звертатися до властивостей глобального об’єкта безпосередньо, через `window.x`.

0 commit comments

Comments
 (0)