aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/global_objects/globalthis/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/globalthis/index.html')
-rw-r--r--files/uk/web/javascript/reference/global_objects/globalthis/index.html81
1 files changed, 0 insertions, 81 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/globalthis/index.html b/files/uk/web/javascript/reference/global_objects/globalthis/index.html
deleted file mode 100644
index 5646082567..0000000000
--- a/files/uk/web/javascript/reference/global_objects/globalthis/index.html
+++ /dev/null
@@ -1,81 +0,0 @@
----
-title: globalThis
-slug: Web/JavaScript/Reference/Global_Objects/globalThis
-translation_of: Web/JavaScript/Reference/Global_Objects/globalThis
----
-<div>{{jsSidebar("Objects")}}</div>
-
-<p><span class="seoSummary">Глобальна властивість <code><strong>globalThis</strong></code> містить значення глобального <code>this</code>, яке являється глобальним об'єктом.</span></p>
-
-<div>{{EmbedInteractiveExample("pages/js/globalprops-globalthis.html")}}</div>
-
-<p class="hidden">Код для цього інтерактивного приклада зберігається в репозитарії на GitHub. Якщо Ви бажаєте приєднатися до проекту інтерактивних прикладів, будь-ласка зклонуйте <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> та відправте нам "pull request".</p>
-
-<p>{{JS_Property_Attributes(1, 0, 1)}}</p>
-
-<h2 id="Синтакс">Синтакс</h2>
-
-<pre class="syntaxbox">globalThis
-</pre>
-
-<h2 id="Опис">Опис</h2>
-
-<p>Історично, для доступу до глобальних об'єктів використовується різний синтаксис в різних оточеннях JavaScript. В Веб ви можете використовувати {{domxref("Window.window", "window")}}, {{domxref("Window.self", "self")}}, або {{domxref("Window.frames", "frames")}} - але в <a href="/en-US/docs/Web/API/Worker">Веб Воркерах</a> лише <code>self</code> працюватиме. В Node.js нічого з вище-перерахоованого не працюватиме, і ви повинні використовувати <code>global</code>.<br>
- Ключове слово <code>this</code> ви можете використовувати в середині функцій в не-суворому режимі, інакше <code>this</code> буде <code>undefined</code> в Модулях та в середині функцій в суворому режимі. Ви також можете використовувати <code>Function('return this')()</code>, але середовища, що відключають {{jsxref("eval", "eval()")}}, типу <a href="/en-US/docs/Glossary/CSP">CSP</a> в браузерах, перешкоджають використанню {{jsxref("Function")}} в такому вигляді.</p>
-
-<p>Властивість <code>globalThis</code> надає стандартний метод доступу до глобального значення <code>this</code> (і як наслідок, безпосередньо до глобального об'єкту) не залежно від середовища. Навідміну від подібних властивостей, таких як <code>window</code> та <code>self</code>, воно гарантує роботу в середовищі де є <code>window</code> та де його немає. Таким чином, ви можете отримати доступ до глобального об'єкту навіть не знаючи в якому середовищі працює код. Щоб запам'ятати назву, просто запам'ятайте що в глобальному отчені значення <code>this</code> дорівнює <code>globalThis</code>.</p>
-
-<h3 id="HTML_та_WindowProxy">HTML та WindowProxy</h3>
-
-<p>В різних двіжках об'єкт <code>globalThis</code> буде посиланням до безпосередього глобального об'єкту, але в браузерах, через міркування безпеки в iframe та cross-window взаємодії, він є посиланням до {{jsxref("Proxy")}} навколо фактичного глобалього об'єкту(до якого ви не можете звернутися безпосередньо). Ця відмінність рідко є актуальною для загального використання, але важливо її запам'ятати.</p>
-
-<h3 id="Іменування">Іменування</h3>
-
-<p>Деякі інші популярні варіанти імен, такі як <code>self</code> та <code>global</code> були видалені з розгляду через їх схильність порушити сумістність з існуючим кодом. Детальніше дивіться  <a href="https://github.com/tc39/proposal-global/blob/master/NAMING.md">документ мовних пропозиції</a>.</p>
-
-<h2 id="Приклади">Приклади</h2>
-
-<p>Задовго до <code>globalThis</code>, єдиним надійним крос-платформенним варіантом  отримати глобальний об'єкт для оточення був <code>Function('return this')()</code>. Однак, він був причиною <a href="/en-US/docs/Web/HTTP/CSP">CSP</a> порушень в деяких налаштуваннях, таким чином <a href="https://github.com/paulmillr/es6-shim">es6-shim</a> використовує додаткову перевірку, наприклад:</p>
-
-<pre class="brush: js">var getGlobal = function () {
- if (typeof self !== 'undefined') { return self; }
- if (typeof window !== 'undefined') { return window; }
- if (typeof global !== 'undefined') { return global; }
- throw new Error('unable to locate global object');
-};
-
-var globals = getGlobal();
-
-if (typeof globals.setTimeout !== 'function') {
- // нема setTimeout в даному оточенні!
-}
-</pre>
-
-<p>За допомогою <code>globalThis</code>, додатковий пошук/перевірки для глобального об'єкту не потрібні більше:</p>
-
-<pre class="brush: js">if (typeof globalThis.setTimeout !== 'function') {
- // нема setTimeout в даному оточенні!
-}</pre>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Специфікація</th>
- <th scope="col">Статус</th>
- <th scope="col">Коментар</th>
- </tr>
- <tr>
- <td>{{SpecName("ESDraft", "#sec-globalthis", "<code>globalThis</code>")}}</td>
- <td>{{Spec2("ESDraft")}}</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Браузерна_Сумістність">Браузерна Сумістність</h2>
-
-<div class="hidden">Таблиця сумістності на цій сторінці згенерована з структурованних данних. Якщо ви бажаєте прийняти участь в формуванні даних, будь-ласка, перевірте <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> та направте нам "pull request".</div>
-
-<p>{{Compat("javascript.builtins.globalThis")}}</p>