aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 21:46:22 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 21:46:22 -0500
commita065e04d529da1d847b5062a12c46d916408bf32 (patch)
treefe0f8bcec1ff39a3c499a2708222dcf15224ff70 /files/uk/web/javascript/reference
parent218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (diff)
downloadtranslated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.gz
translated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.bz2
translated-content-a065e04d529da1d847b5062a12c46d916408bf32.zip
update based on https://github.com/mdn/yari/issues/2028
Diffstat (limited to 'files/uk/web/javascript/reference')
-rw-r--r--files/uk/web/javascript/reference/functions/arguments/caller/index.html55
-rw-r--r--files/uk/web/javascript/reference/global_objects/array/observe/index.html89
-rw-r--r--files/uk/web/javascript/reference/global_objects/array/unobserve/index.html89
-rw-r--r--files/uk/web/javascript/reference/global_objects/function/arity/index.html31
-rw-r--r--files/uk/web/javascript/reference/global_objects/function/isgenerator/index.html56
-rw-r--r--files/uk/web/javascript/reference/global_objects/object/count/index.html44
-rw-r--r--files/uk/web/javascript/reference/global_objects/object/eval/index.html46
-rw-r--r--files/uk/web/javascript/reference/global_objects/object/getnotifier/index.html52
-rw-r--r--files/uk/web/javascript/reference/global_objects/object/nosuchmethod/index.html166
-rw-r--r--files/uk/web/javascript/reference/global_objects/object/observe/index.html153
-rw-r--r--files/uk/web/javascript/reference/global_objects/object/parent/index.html41
-rw-r--r--files/uk/web/javascript/reference/global_objects/object/unobserve/index.html102
-rw-r--r--files/uk/web/javascript/reference/global_objects/object/unwatch/index.html71
-rw-r--r--files/uk/web/javascript/reference/global_objects/object/watch/index.html153
-rw-r--r--files/uk/web/javascript/reference/global_objects/string/quote/index.html77
-rw-r--r--files/uk/web/javascript/reference/operators/array_comprehensions/index.html198
-rw-r--r--files/uk/web/javascript/reference/operators/expression_closures/index.html78
-rw-r--r--files/uk/web/javascript/reference/operators/generator_comprehensions/index.html174
18 files changed, 0 insertions, 1675 deletions
diff --git a/files/uk/web/javascript/reference/functions/arguments/caller/index.html b/files/uk/web/javascript/reference/functions/arguments/caller/index.html
deleted file mode 100644
index 3695367816..0000000000
--- a/files/uk/web/javascript/reference/functions/arguments/caller/index.html
+++ /dev/null
@@ -1,55 +0,0 @@
----
-title: arguments.caller
-slug: Web/JavaScript/Reference/Functions/arguments/caller
-tags:
- - Functions
- - JavaScript
- - arguments
- - Властивість
- - застаріла
-translation_of: Archive/Web/JavaScript/arguments.caller
----
-<div>{{jsSidebar("Functions")}}</div>
-
-<p>{{obsolete_header}}</p>
-
-<p>Застаріла властивість <strong><code>arguments.caller</code></strong> використовувалась, щоб надавати функцію, яка викликала поточну функцію, що виконується. Ця властивість була прибрана та більше не працює.</p>
-
-<h2 id="Опис">Опис</h2>
-
-<p>Ця властивість більше недоступна, але ви можете скористатись {{jsxref("Function.caller")}}.</p>
-
-<pre class="brush: js">function whoCalled() {
- if (whoCalled.caller == null)
- console.log('Я викликана з глобальної області видимості.');
- else
- console.log('Функція ' + whoCalled.caller + ' викликала мене!');
-}</pre>
-
-<h2 id="Приклади">Приклади</h2>
-
-<p>Наступний код використовувався для перевірки значення <code>arguments.caller</code> у функції, але він більше не працює.</p>
-
-<pre class="brush: js example-bad">function whoCalled() {
- if (arguments.caller == null)
- console.log('Я викликана з глобальної області видимості.');
- else
- console.log('Функція ' + arguments.caller + ' викликала мене!');
-}
-</pre>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<p>Не є частиною жодного стандарту. Реалізована у JavaScript 1.1 та прибрана у {{bug(7224)}} через потенційну вразливість для безпеки.</p>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-
-
-<p>{{Compat("javascript.functions.arguments.caller")}}</p>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li>{{jsxref("Function")}}</li>
-</ul>
diff --git a/files/uk/web/javascript/reference/global_objects/array/observe/index.html b/files/uk/web/javascript/reference/global_objects/array/observe/index.html
deleted file mode 100644
index 3e3a386c83..0000000000
--- a/files/uk/web/javascript/reference/global_objects/array/observe/index.html
+++ /dev/null
@@ -1,89 +0,0 @@
----
-title: Array.observe()
-slug: Web/JavaScript/Reference/Global_Objects/Array/observe
-tags:
- - JavaScript
- - Масив
- - застарілий
- - метод
-translation_of: Archive/Web/JavaScript/Array.observe
----
-<div>{{JSRef}} {{obsolete_header}}</div>
-
-<p>Метод <strong><code>Array.observe()</code></strong> використовувався для асинхронного спостереження за змінами у масивах, схоже на  {{jsxref("Object.observe()")}} у об'єктах. Він надавав послідовність змін в порядку виникнення. Як і <code>Object.observe()</code>, він викликається з допустимим списком типів <code>["add", "update", "delete", "splice"]</code>. Однак, цей API застарілий та був прибраний з переглядачів. Ви можете натомість використати більш загальний об'єкт {{jsxref("Proxy")}}.</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox">Array.observe(<var>arr</var>, <var>callback</var>)</pre>
-
-<h3 id="Параметри">Параметри</h3>
-
-<dl>
- <dt><code>arr</code></dt>
- <dd>Масив для спостереження.</dd>
- <dt><code>callback</code></dt>
- <dd>Функція, яка викликається кожен раз, коли відбуваються зміни, з наступним аргументом:
- <dl>
- <dt><code>changes</code></dt>
- <dd>Масив об'єктів, кожен з яких відображає зміну. Властивості цих об'єктів змін:
- <ul>
- <li><strong><code>name</code></strong>: Ім'я властивості, яка була змінена.</li>
- <li><strong><code>object</code></strong>: Змінений масив після того, як відбулась зміна.</li>
- <li><strong><code>type</code></strong>: Строка, що вказує тип зміни. Один з <code>"add"</code>, <code>"update"</code>, <code>"delete"</code>, або <code>"splice"</code>.</li>
- <li><strong><code>oldValue</code></strong>: Тільки для типів <code>"update"</code> та <code>"delete"</code>. Значення перед зміною.</li>
- <li><strong><code>index</code></strong>: Тільки для типу <code>"splice"</code>. Індекс, за яким відбулася зміна.</li>
- <li><strong><code>removed</code></strong>: Тільки для типу <code>"splice"</code>. Масив видалених елементів.</li>
- <li><strong><code>addedCount</code></strong>: Тільки для типу <code>"splice"</code>. Кількість доданих елементів.</li>
- </ul>
- </dd>
- </dl>
- </dd>
-</dl>
-
-<h2 id="Опис">Опис</h2>
-
-<p>Функція <code>callback</code> викликається кожен раз, коли у <code>arr</code> відбувається зміна, з масивом усіх змін у порядку, в якому вони відбувались.</p>
-
-<div class="note">
-<p>Зміни, зроблені методами масивів, такими як <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop"><code>Array.prototype.pop()</code></a>, будуть записані як <code>"splice"</code>. Зміни, пов'язані з призначенням величин за індексом, які не змінюють довжину масиву, можуть бути записані як <code>"update"</code>.</p>
-</div>
-
-<h2 id="Приклади">Приклади</h2>
-
-<h3 id="Логування_різних_типів_змін">Логування різних типів змін</h3>
-
-<pre class="brush: js">var arr = ['a', 'b', 'c'];
-
-Array.observe(arr, function(changes) {
- console.log(changes);
-});
-
-arr[1] = 'B';
-// [{type: 'update', object: &lt;arr&gt;, name: '1', oldValue: 'b'}]
-
-arr[3] = 'd';
-// [{type: 'splice', object: &lt;arr&gt;, index: 3, removed: [], addedCount: 1}]
-
-arr.splice(1, 2, 'beta', 'gamma', 'delta');
-// [{type: 'splice', object: &lt;arr&gt;, index: 1, removed: ['B', 'c'], addedCount: 3}]
-</pre>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<p><a href="https://github.com/arv/ecmascript-object-observe">Strawman proposal specification</a>.</p>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Array.observe")}}</p>
-</div>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li><a href="//stackoverflow.com/q/29269057/778272">Under what condition would Array.observe's “add” event trigger?</a></li>
- <li>{{jsxref("Array.unobserve()")}} {{obsolete_inline}}</li>
- <li>{{jsxref("Object.observe()")}} {{obsolete_inline}}</li>
-</ul>
diff --git a/files/uk/web/javascript/reference/global_objects/array/unobserve/index.html b/files/uk/web/javascript/reference/global_objects/array/unobserve/index.html
deleted file mode 100644
index 308a8a01d6..0000000000
--- a/files/uk/web/javascript/reference/global_objects/array/unobserve/index.html
+++ /dev/null
@@ -1,89 +0,0 @@
----
-title: Array.unobserve()
-slug: Web/JavaScript/Reference/Global_Objects/Array/unobserve
-tags:
- - Array
- - JavaScript
- - Масив
- - застарілий
- - метод
-translation_of: Archive/Web/JavaScript/Array.unobserve
----
-<div>{{JSRef}} {{obsolete_header}}</div>
-
-<p>Метод Array<strong>.unobserve()</strong> використовувався для видалення спостерігачів, встановлених методом {{jsxref("Array.observe()")}}, але він застарів та був прибраний з переглядачів. Ви можете натомість скористатись більш загальним об'єктом {{jsxref("Proxy")}}.</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox">Array.unobserve(<var>arr</var>, <var>callback</var>)</pre>
-
-<h3 id="Параметри">Параметри</h3>
-
-<dl>
- <dt><code>arr</code></dt>
- <dd>Масив, де треба припинити спостереження.</dd>
- <dt><code>callback</code></dt>
- <dd>Посилання на спостерігач, який треба припинити викликати кожен раз, коли у масиві <strong>arr</strong> відбувається зміна.</dd>
-</dl>
-
-<h2 id="Опис">Опис</h2>
-
-<p>Метод <code>Array.unobserve()</code> має викликатися після {{jsxref("Array.observe()")}}, щоб прибрати спостерігач з масиву.</p>
-
-<p>Параметр callback має бути посиланням на функцію, а не анонімною функцією, бо це посилання буде використано, щоб прибрати попередній спостерігач. Немає сенсу викликати <strong>Array.unobserve()</strong> з анонімною функцією зворотного виклику, вона не прибере жоден спостерігач.</p>
-
-<h2 id="Приклади">Приклади</h2>
-
-<h3 id="Припинення_спостереження_за_масивом">Припинення спостереження за масивом</h3>
-
-<pre class="brush: js">var arr = [1, 2, 3];
-
-var observer = function(changes) {
-  console.log(changes);
-}
-
-Array.observe(arr, observer);
-​
-arr.push(4);
-// [{type: "splice", object: &lt;arr&gt;, index: 3, removed:[], addedCount: 1}]
-
-Array.unobserve(arr, observer);
-
-arr.pop();
-// Функція зворотного виклику не викликалась</pre>
-
-<h3 id="Використання_анонімної_функції">Використання анонімної функції</h3>
-
-<pre class="brush: js">var persons = ['Халід', 'Ахмед', 'Мухаммед'];
-
-Array.observe(persons, function (changes) {
-  console.log(changes);
-});
-
-persons.shift();
-// [{type: "splice", object: &lt;arr&gt;, index: 0, removed: [ "Халід" ], addedCount: 0 }]
-
-Array.unobserve(persons, function (changes) {
-  console.log(changes);
-});
-
-persons.push('Абдулла');
-// [{type: "splice", object: &lt;arr&gt;, index: 2, removed: [], addedCount: 1 }]
-// Функція зворотного виклику викликатиметься завжди
-</pre>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Array.unobserve")}}</p>
-</div>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li>{{jsxref("Array.observe()")}} {{obsolete_inline}}</li>
- <li>{{jsxref("Object.observe()")}} {{obsolete_inline}}</li>
- <li>{{jsxref("Object.unobserve()")}} {{obsolete_inline}}</li>
-</ul>
diff --git a/files/uk/web/javascript/reference/global_objects/function/arity/index.html b/files/uk/web/javascript/reference/global_objects/function/arity/index.html
deleted file mode 100644
index bef46fef72..0000000000
--- a/files/uk/web/javascript/reference/global_objects/function/arity/index.html
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title: Function.arity
-slug: Web/JavaScript/Reference/Global_Objects/Function/arity
-tags:
- - JavaScript
- - Властивість
- - Функція
- - застаріла
-translation_of: Archive/Web/JavaScript/Function.arity
----
-<div>{{JSRef}}{{Obsolete_Header}}</div>
-
-<p class="note">Властивість <code><strong>arity</strong></code> повертала кількість аргументів, очікуваних функцією, однак, вона більше не існує та була замінена властивістю {{jsxref("Function.prototype.length")}}.</p>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<p>Реалізовано JavaScript 1.2. Застаріла у JavaScript 1.4.</p>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Function.arity")}}</p>
-</div>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li>{{JSxRef("Function.prototype.length")}}</li>
-</ul>
diff --git a/files/uk/web/javascript/reference/global_objects/function/isgenerator/index.html b/files/uk/web/javascript/reference/global_objects/function/isgenerator/index.html
deleted file mode 100644
index 65c42052c7..0000000000
--- a/files/uk/web/javascript/reference/global_objects/function/isgenerator/index.html
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: Function.prototype.isGenerator()
-slug: Web/JavaScript/Reference/Global_Objects/Function/isGenerator
-tags:
- - Function
- - JavaScript
- - застарілий
- - метод
- - нестандартний
-translation_of: Archive/Web/JavaScript/Function.isGenerator
----
-<div>{{JSRef}} {{non-standard_header}}</div>
-
-<p>Нестандартний метод <code><strong>isGenerator()</strong></code> використовувався для визначення, чи є функція <a href="/uk/docs/Web/JavaScript/Guide/Iterators_and_Generators#Generators.3A_a_better_way_to_build_Iterators">генератором</a>. Він був видалений з Firefox, починаючи з версії 58.</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox"><code><var>fun</var>.isGenerator()</code></pre>
-
-<h3 id="Значення_що_повертається">Значення, що повертається</h3>
-
-<p>Значення {{jsxref("Boolean")}}, яке вказує, чи є надана функція <a href="/uk/docs/Web/JavaScript/Guide/Iterators_and_Generators#Generators.3A_a_better_way_to_build_Iterators">генератором</a>.</p>
-
-<h2 id="Опис">Опис</h2>
-
-<p>Метод <code>isGenerator()</code> визначає, чи є функція <em><code>fun</code></em> <a href="/uk/docs/Web/JavaScript/Guide/Iterators_and_Generators#Generators.3A_a_better_way_to_build_Iterators">генератором</a>. Він був частиною ранніх пропозицій специфікації Harmony, але не був включений у специфікацію ECMAScript 2015.</p>
-
-<h2 id="Приклади">Приклади</h2>
-
-<pre class="brush: js">function f() {}
-
-function* g() {
- yield 42;
-}
-
-console.log('f.isGenerator() = ' + f.isGenerator()); // f.isGenerator() = false
-console.log('g.isGenerator() = ' + g.isGenerator()); // g.isGenerator() = true
-</pre>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<p>Не є частиною жодних специфікацій. Реалізований у JavaScript 1.8.6.</p>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Function.isGenerator")}}</p>
-</div>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li><a href="/uk/docs/Web/JavaScript/Guide/Iterators_and_Generators">Ітератори та генератори</a></li>
-</ul>
diff --git a/files/uk/web/javascript/reference/global_objects/object/count/index.html b/files/uk/web/javascript/reference/global_objects/object/count/index.html
deleted file mode 100644
index 67940e270a..0000000000
--- a/files/uk/web/javascript/reference/global_objects/object/count/index.html
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: Object.prototype.__count__
-slug: Web/JavaScript/Reference/Global_Objects/Object/count
-tags:
- - JavaScript
- - Object
- - Властивість
- - застаріла
- - нестандартна
-translation_of: Archive/Web/JavaScript/Object.count
----
-<div>{{JSRef}}{{Non-standard_Header}}{{obsolete_header("gecko2")}}</div>
-
-<p>Властивість <strong><code>__count__</code></strong> містила кількість перелічуваних властивостей об'єкта, але була прибрана.</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox"><var>obj</var>.__count__</pre>
-
-<h2 id="Приклади">Приклади</h2>
-
-<pre class="brush: js">{ 1: 1 }.__count__ // 1
-[].__count__ // 0
-[1].__count__ // 1
-[1, /* hole */, 2, 3].__count__ // 3
-</pre>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<p>Не є частиною жодних специфікацій.</p>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Object.count")}}</p>
-</div>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li><a class="external" href="http://whereswalden.com/2010/04/06/more-changes-coming-to-spidermonkey-the-magical-__count__-property-of-objects-is-being-removed/">[Blog post] More changes coming to SpiderMonkey: the magical __count__ property is being removed</a></li>
-</ul>
diff --git a/files/uk/web/javascript/reference/global_objects/object/eval/index.html b/files/uk/web/javascript/reference/global_objects/object/eval/index.html
deleted file mode 100644
index 19a476dfc1..0000000000
--- a/files/uk/web/javascript/reference/global_objects/object/eval/index.html
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title: Object.prototype.eval()
-slug: Web/JavaScript/Reference/Global_Objects/Object/eval
-tags:
- - JavaScript
- - Об'єкт
- - застарілий
- - метод
-translation_of: Archive/Web/JavaScript/Object.eval
----
-<div>{{JSRef}} {{obsolete_header}}</div>
-
-<p>Метод <code><strong>Object.eval()</strong></code> обчислював рядок коду JavaScript у контексті об'єкта, але цей метод застарів та був прибраний.</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox"><var>obj</var>.eval(<var>string</var>)</pre>
-
-<h3 id="Параметри">Параметри</h3>
-
-<dl>
- <dt><code>string</code></dt>
- <dd>Будь-який рядок, що відображає вираз, інструкцію чи послідовність інструкцій JavaScript. Вираз може містити змінні та властивості існуючих об'єктів.</dd>
-</dl>
-
-<h2 id="Опис">Опис</h2>
-
-<p>Метод <code>eval</code> більше не може використовуватись в якості методу об'єкта. Використовуйте замість нього глобальну функцію {{jsxref("Global_Objects/eval", "eval()")}}.</p>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<p>Не є частиною жодних специфікацій.</p>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Object.eval")}}</p>
-</div>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li>{{jsxref("Global_Objects/eval", "eval()")}}</li>
-</ul>
diff --git a/files/uk/web/javascript/reference/global_objects/object/getnotifier/index.html b/files/uk/web/javascript/reference/global_objects/object/getnotifier/index.html
deleted file mode 100644
index 9fef482fd6..0000000000
--- a/files/uk/web/javascript/reference/global_objects/object/getnotifier/index.html
+++ /dev/null
@@ -1,52 +0,0 @@
----
-title: Object.getNotifier()
-slug: Web/JavaScript/Reference/Global_Objects/Object/getNotifier
-tags:
- - JavaScript
- - Об'єкт
- - застарілий
- - метод
-translation_of: Archive/Web/JavaScript/Object.getNotifier
----
-<div>{{JSRef}} {{obsolete_header}}</div>
-
-<p>Метод <strong><code>Object.getNotifer()</code></strong> використовувався для створення об'єкта, який дозволяв штучно викликати зміну, але застарів та був прибраний з переглядачів.</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox">Object.getNotifier(<em>obj</em>)</pre>
-
-<h3 id="Параметри">Параметри</h3>
-
-<dl>
- <dt><code>obj</code></dt>
- <dd>Об'єкт, для якого потрібно отримати сповіщувач.</dd>
-</dl>
-
-<h3 id="Значення_що_повертається">Значення, що повертається</h3>
-
-<p>Об'єкт-сповіщувач, пов'язаний з об'єктом, переданим у функцію.</p>
-
-<h2 id="Опис">Опис</h2>
-
-<p>Сповіщувач використовувався для запуску штучних змін, за якими спостерігатиме <code>Object.observe()</code>.</p>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<p><a href="https://github.com/arv/ecmascript-object-observe">Strawman proposal specification.</a></p>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Object.getNotifier")}}</p>
-</div>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li>{{jsxref("Object.observe()")}} {{obsolete_inline}}</li>
- <li>{{jsxref("Object.unobserve()")}} {{obsolete_inline}}</li>
- <li>{{jsxref("Array.observe()")}} {{obsolete_inline}}</li>
-</ul>
diff --git a/files/uk/web/javascript/reference/global_objects/object/nosuchmethod/index.html b/files/uk/web/javascript/reference/global_objects/object/nosuchmethod/index.html
deleted file mode 100644
index fbd98cf2e2..0000000000
--- a/files/uk/web/javascript/reference/global_objects/object/nosuchmethod/index.html
+++ /dev/null
@@ -1,166 +0,0 @@
----
-title: Object.prototype.__noSuchMethod__
-slug: Web/JavaScript/Reference/Global_Objects/Object/noSuchMethod
-tags:
- - JavaScript
- - Object
- - Властивість
- - застаріла
- - нестандартна
-translation_of: Archive/Web/JavaScript/Object.noSuchMethod
----
-<div>{{JSRef}}{{Non-standard_Header}}{{Obsolete_Header("gecko43")}}</div>
-
-<p>Властивість <strong><code>__noSuchMethod__</code></strong> використовувалась для посилання на функцію, що мала виконатися, коли на об'єкті викликався неіснуючий метод, але ця функція більше не доступна.</p>
-
-<p>В той час як метод <code><strong>__noSuchMethod__</strong></code> був прибраний, специфікація ECMAScript 2015 містить об'єкт {{JSxRef("Proxy")}}, який допоможе досягти описаного нижче (і навіть більше).</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox"><code><var>obj</var>.__noSuchMethod__ = <var>fun</var></code></pre>
-
-<h3 id="Параметри">Параметри</h3>
-
-<dl>
- <dt><code>fun</code></dt>
- <dd>Функція, що має вигляд</dd>
- <dd>
- <pre class="brush: js"><code>function (<var>id</var>, <var>args</var>) { . . . }</code></pre>
-
- <dl>
- <dt><code>id</code></dt>
- <dd>Ім'я неіснуючого методу, що був викликаний</dd>
- <dt><code>args</code></dt>
- <dd>Масив аргументів, переданих у метод</dd>
- </dl>
- </dd>
-</dl>
-
-<h2 id="Опис">Опис</h2>
-
-<p>За замовчуванням спроба викликати метод, який не існує, на об'єкті призводить до викидання {{JSxRef("TypeError")}}. Цю поведінку можна обійти, визначивши функцію у властивості об'єкта <code>__noSuchMethod__</code>. Функція приймає два аргумента, перший - це ім'я метода, що викликається, другий - це масив аргументів, які передаються під час виклику. Другий аргумент є справжнім масивом (тобто, він успадковується через ланцюг {{JSxRef("Array.prototype")}}), а не подібним до масиву <a href="/uk/docs/Web/JavaScript/Reference/Functions_and_function_scope/arguments" title="JavaScript/Reference/Functions/arguments">об'єктом arguments</a>.</p>
-
-<p>Якщо цей метод не можна викликати, чи тому що він дорівнює <code>undefined</code>, чи був видалений, чи йому вручну було присвоєне нефункціональне значення, рушій JavaScript повернеться до викидання <code>TypeError</code>.</p>
-
-<h2 id="Приклади">Приклади</h2>
-
-<h3 id="Проста_перевірка___noSuchMethod__">Проста перевірка <code>__noSuchMethod__</code></h3>
-
-<pre class="brush: js">var o = {
- __noSuchMethod__: function(id, args) {
- console.log(id, '(' + args.join(', ') + ')');
- }
-};
-
-o.foo(1, 2, 3);
-o.bar(4, 5);
-o.baz();
-
-// Виведе
-// foo (1, 2, 3)
-// bar (4, 5)
-// baz ()
-</pre>
-
-<h3 id="Використання___noSuchMethod___для_імітації_множинного_спадкування">Використання <code>__noSuchMethod__</code> для імітації множинного спадкування</h3>
-
-<p>Приклад коду, що реалізує примітивну форму множинного спадкування, наведений нижче.</p>
-
-<pre class="brush: js">// Не працює, якщо батьківські об'єкти є результатом множинного спадкування
-function noMethod(name, args) {
- var parents = this.__parents_;
-
- // Пройти через усі батьківські об'єкти
- for (var i = 0; i &lt; parents.length; i++) {
- // Якщо знаходимо функцію у батьківського об'єкта, викликаємо її
- if (typeof parents[i][name] == 'function') {
- return parents[i][name].apply(this, args);
- }
- }
-
- // Якщо ми дістались сюди, метод не був знайдений
- throw new TypeError;
-}
-
-// Додавало батьківський об'єкт для множинного спадкування
-function addParent(obj, parent) {
- // Якщо об'єкт неініціалізований, ініціалізуємо його
- if (!obj.__parents_) {
- obj.__parents_ = [];
- obj.__noSuchMethod__ = noMethod;
- }
-
- // Додати батьківський об'єкт
- obj.__parents_.push(parent);
-}
-</pre>
-
-<p>Приклад використання цієї ідеї наведений нижче.</p>
-
-<pre class="brush: js">// Базовий клас 1
-function NamedThing(name) {
- this.name = name;
-}
-
-NamedThing.prototype = {
- getName: function() { return this.name; },
- setName: function(newName) { this.name = newName; }
-}
-
-// Базовий клас 2
-function AgedThing(age) {
- this.age = age;
-}
-
-AgedThing.prototype = {
- getAge: function() { return this.age; },
- setAge: function(age) { this.age = age; }
-}
-
-// Дочірній клас. Наслідується від NamedThing та AgedThing,
-// а також визначає адресу
-function Person(name, age, address){
- addParent(this, NamedThing.prototype);
- NamedThing.call(this, name);
- addParent(this, AgedThing.prototype);
- AgedThing.call(this, age);
- this.address = address;
-}
-
-Person.prototype = {
- getAddr: function() { return this.address; },
- setAddr: function(addr) { this.address = addr; }
-}
-
-var bob = new Person('Боб', 25, 'Нью-Йорк');
-
-console.log('getAge ' + (('getAge' in bob) ? 'належить' : 'не належить') + ' Бобу');
-// getAge не належить Бобу
-
-console.log("Вік Боба: " + bob.getAge());
-// Вік Боба: 25
-
-console.log('getName ' + (('getName' in bob) ? 'належить' : 'не належить') + ' Бобу');
-// getName не належить Бобу
-
-console.log("Ім'я Боба: " + bob.getName());
-// Ім'я Боба: Боб
-
-console.log('getAddr ' + (('getAddr' in bob) ? 'належить' : 'не належить') + ' Бобу');
-// getAddr належить Бобу
-
-console.log("Адреса Боба: " + bob.getAddr());
-// Адреса Боба: Нью-Йорк
-</pre>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<p>Не є частиною жодних специфікацій. Ця функціональність була прибрана, дивіться {{bug(683218)}}.</p>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Object.noSuchMethod")}}</p>
-</div>
diff --git a/files/uk/web/javascript/reference/global_objects/object/observe/index.html b/files/uk/web/javascript/reference/global_objects/object/observe/index.html
deleted file mode 100644
index ec4d1ca5e8..0000000000
--- a/files/uk/web/javascript/reference/global_objects/object/observe/index.html
+++ /dev/null
@@ -1,153 +0,0 @@
----
-title: Object.observe()
-slug: Web/JavaScript/Reference/Global_Objects/Object/observe
-tags:
- - JavaScript
- - Об'єкт
- - застарілий
- - метод
-translation_of: Archive/Web/JavaScript/Object.observe
----
-<div>{{JSRef}} {{obsolete_header}}</div>
-
-<p>Метод <strong><code>Object.observe()</code></strong> використовувався для асинхронного спостереження за змінами у об'єкті. Він надавав послідовність змін у порядку виникнення. Однак, цей API застарілий та був прибраний з переглядачів. Ви можете, натомість, скористатись більш загальним об'єктом {{jsxref("Proxy")}}.</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox">Object.observe(<var>obj</var>, <var>callback</var>[, <var>acceptList</var>])</pre>
-
-<h3 id="Параметри">Параметри</h3>
-
-<dl>
- <dt><code>obj</code></dt>
- <dd>Об'єкт для спостереження.</dd>
- <dt><code>callback</code></dt>
- <dd>Функція, яка викликається кожен раз, коли відбуваються зміни, з наступним аргументом:
- <dl>
- <dt><code>changes</code></dt>
- <dd>Масив об'єктів, кожен з яких відображає зміну. Властивості цих об'єктів змін:
- <ul>
- <li><strong><code>name</code></strong>: Ім'я властивості, яка була змінена.</li>
- <li><strong><code>object</code></strong>: Змінений об'єкт після того, як відбулася зміна.</li>
- <li><strong><code>type</code></strong>: Строка, що вказує тип зміни. Один з <code>"add"</code>, <code>"update"</code> або <code>"delete"</code>.</li>
- <li><strong><code>oldValue</code></strong>: Тільки для типів <code>"update"</code> та <code>"delete"</code>. Значення перед зміною.</li>
- </ul>
- </dd>
- </dl>
- </dd>
- <dt><code>acceptList</code></dt>
- <dd>Список типів змін для спостереження на наданому об'єкті для наданої функції <code>callback</code>. Якщо не заданий, буде використаний масив <code>["add", "update", "delete", "reconfigure", "setPrototype", "preventExtensions"]</code>.</dd>
-</dl>
-
-<h3 id="Значення_що_повертається">Значення, що повертається</h3>
-
-<p>Об'єкт для спостереження.</p>
-
-<h2 id="Опис">Опис</h2>
-
-<p>Функція <code>callback</code> викликається кожен раз, коли у <code>obj</code> відбувається зміна, з масивом усіх змін у порядку, в якому вони відбувались.</p>
-
-<h2 id="Приклади">Приклади</h2>
-
-<h3 id="Логування_усіх_шістьох_типів">Логування усіх шістьох типів</h3>
-
-<pre class="brush: js">var obj = {
- foo: 0,
- bar: 1
-};
-
-Object.observe(obj, function(changes) {
- console.log(changes);
-});
-
-obj.baz = 2;
-// [{name: 'baz', object: &lt;obj&gt;, type: 'add'}]
-
-obj.foo = 'привіт';
-// [{name: 'foo', object: &lt;obj&gt;, type: 'update', oldValue: 0}]
-
-delete obj.baz;
-// [{name: 'baz', object: &lt;obj&gt;, type: 'delete', oldValue: 2}]
-
-Object.defineProperty(obj, 'foo', {writable: false});
-// [{name: 'foo', object: &lt;obj&gt;, type: 'reconfigure'}]
-
-Object.setPrototypeOf(obj, {});
-// [{name: '__proto__', object: &lt;obj&gt;, type: 'setPrototype', oldValue: &lt;prototype&gt;}]
-
-Object.seal(obj);
-// [
-// {name: 'foo', object: &lt;obj&gt;, type: 'reconfigure'},
-// {name: 'bar', object: &lt;obj&gt;, type: 'reconfigure'},
-// {object: &lt;obj&gt;, type: 'preventExtensions'}
-// ]
-</pre>
-
-<h3 id="Звязування_даних">Зв'язування даних</h3>
-
-<pre class="brush: js">// Модель користувача
-var user = {
- id: 0,
- name: 'Брендан Айк',
- title: 'п.'
-};
-
-// Створити привітання для користувача
-function updateGreeting() {
- user.greeting = 'Вітаю, ' + user.title + ' ' + user.name + '!';
-}
-updateGreeting();
-
-Object.observe(user, function(changes) {
- changes.forEach(function(change) {
- // Кожен раз, коли змінюється ім'я чи титул, оновити привітання
- if (change.name === 'name' || change.name === 'title') {
- updateGreeting();
- }
- });
-});
-</pre>
-
-<h3 id="Користувацький_тип_зміни">Користувацький тип зміни</h3>
-
-<pre class="brush: js">// Точка на 2-вимірній площині
-var point = {x: 0, y: 0, distance: 0};
-
-function setPosition(pt, x, y) {
- // Виконуємо користувацьку зміну
- Object.getNotifier(pt).performChange('reposition', function() {
- var oldDistance = pt.distance;
- pt.x = x;
- pt.y = y;
- pt.distance = Math.sqrt(x * x + y * y);
- return {oldDistance: oldDistance};
- });
-}
-
-Object.observe(point, function(changes) {
- console.log('Зміна відстані: ' + (point.distance - changes[0].oldDistance));
-}, ['reposition']);
-
-setPosition(point, 3, 4);
-// Зміна відстані: 5
-</pre>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<p><a href="https://github.com/arv/ecmascript-object-observe">Strawman proposal specification</a>.</p>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Object.observe")}}</p>
-</div>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li>{{jsxref("Object.unobserve()")}} {{obsolete_inline}}</li>
- <li>{{jsxref("Array.observe()")}} {{obsolete_inline}}</li>
- <li><a href="https://esdiscuss.org/topic/an-update-on-object-observe">Прибирання Object.Observer</a></li>
-</ul>
diff --git a/files/uk/web/javascript/reference/global_objects/object/parent/index.html b/files/uk/web/javascript/reference/global_objects/object/parent/index.html
deleted file mode 100644
index 03a5568469..0000000000
--- a/files/uk/web/javascript/reference/global_objects/object/parent/index.html
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title: Object.prototype.__parent__
-slug: Web/JavaScript/Reference/Global_Objects/Object/Parent
-tags:
- - JavaScript
- - Object
- - Властивість
- - застаріла
- - нестандартна
-translation_of: Archive/Web/JavaScript/Object.parent
----
-<div>{{JSRef}}{{Non-standard_Header}}{{Obsolete_Header("gecko2")}}</div>
-
-<p>Властивість <strong><code>__parent__</code></strong> вказувала на контекст об'єкта, але була прибрана.</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox"><var>obj</var>.__parent__</pre>
-
-<h2 id="Опис">Опис</h2>
-
-<p>Для об'єктів верхнього рівня це, наприклад, window.</p>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<p>Не є частиною жодних специфікацій.</p>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Object.parent")}}</p>
-</div>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li><a class="external" href="http://whereswalden.com/2010/05/07/spidermonkey-change-du-jour-the-special-__parent__-property-has-been-removed/">SpiderMonkey change du jour: the special __parent__ property has been removed</a></li>
- <li><a href="/uk/docs/Components.utils.getGlobalForObject">Components.utils.getGlobalForObject</a></li>
-</ul>
diff --git a/files/uk/web/javascript/reference/global_objects/object/unobserve/index.html b/files/uk/web/javascript/reference/global_objects/object/unobserve/index.html
deleted file mode 100644
index 678544cabe..0000000000
--- a/files/uk/web/javascript/reference/global_objects/object/unobserve/index.html
+++ /dev/null
@@ -1,102 +0,0 @@
----
-title: Object.unobserve()
-slug: Web/JavaScript/Reference/Global_Objects/Object/unobserve
-tags:
- - JavaScript
- - Об'єкт
- - застарілий
- - метод
-translation_of: Archive/Web/JavaScript/Object.unobserve
----
-<div>{{JSRef}} {{obsolete_header}}</div>
-
-<p>Метод <strong><code>Object.unobserve()</code></strong> використовувався для видалення спостерігачів, встановлених методом {{jsxref("Object.observe()")}}, але він застарів та був прибраний з переглядачів. Ви можете натомість скористатись більш загальним об'єктом {{jsxref("Proxy")}}.</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox">Object.unobserve(<var>obj</var>, <var>callback</var>)</pre>
-
-<h3 id="Параметри">Параметри</h3>
-
-<dl>
- <dt><code>obj</code></dt>
- <dd>Об'єкт, за яким треба припинити спостереження.</dd>
- <dt><code>callback</code></dt>
- <dd>Посилання на спостерігач, який треба припинити викликати кожен раз, коли у об'єкті <strong>obj</strong> відбувається зміна.</dd>
-</dl>
-
-<h3 id="Значення_що_повертається">Значення, що повертається</h3>
-
-<p>Вказаний об'єкт.</p>
-
-<h2 id="Опис">Опис</h2>
-
-<p><code>Object.unobserve()</code> має викликатися після {{jsxref("Object.observe()")}}, щоб прибрати з об'єкта спостерігач.</p>
-
-<p>Параметр callback має бути посиланням на функцію, а не анонімною функцією, бо це посилання буде використано, щоб прибрати попередній спостерігач. Немає сенсу викликати <strong>Object.unobserve() </strong>з анонімною функцією зворотного виклику, вона не прибере жоден спостерігач.</p>
-
-<h2 id="Приклади">Приклади</h2>
-
-<h3 id="Припинення_спостереження_за_обєктом">Припинення спостереження за об'єктом</h3>
-
-<pre class="brush: js">var obj = {
- foo: 0,
- bar: 1
-};
-
-var observer = function(changes) {
- console.log(changes);
-}
-
-Object.observe(obj, observer);
-​
-obj.newProperty = 2;
-// [{name: 'newProperty', object: &lt;obj&gt;, type: 'add'}]
-
-Object.unobserve(obj, observer);
-
-obj.foo = 1;
-// Функція зворотного виклику не викликалась</pre>
-
-<h3 id="Використання_анонімної_функції">Використання анонімної функції</h3>
-
-<pre class="brush: js">var person = {
- name: 'Ахмед',
- age: 25
-};
-
-Object.observe(person, function(changes) {
- console.log(changes);
-});
-
-person.age = 40;
-// [{name: 'age', object: &lt;obj&gt;, oldValue: 25, type: 'update'}]
-
-Object.unobserve(person, function(changes) {
- console.log(changes);
-});
-
-person.age = 63;
-// [{name: 'age', object: &lt;obj&gt;, oldValue: 40, type: 'update'}]
-// Функція зворотного виклику викликатиметься завжди
-</pre>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<p><a href="https://github.com/arv/ecmascript-object-observe">Strawman proposal specification</a>.</p>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Object.unobserve")}}</p>
-</div>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li>{{jsxref("Object.observe()")}} {{obsolete_inline}}</li>
- <li>{{jsxref("Array.observe()")}} {{obsolete_inline}}</li>
- <li>{{jsxref("Array.unobserve()")}} {{obsolete_inline}}</li>
-</ul>
diff --git a/files/uk/web/javascript/reference/global_objects/object/unwatch/index.html b/files/uk/web/javascript/reference/global_objects/object/unwatch/index.html
deleted file mode 100644
index 7ad4d67028..0000000000
--- a/files/uk/web/javascript/reference/global_objects/object/unwatch/index.html
+++ /dev/null
@@ -1,71 +0,0 @@
----
-title: Object.prototype.unwatch()
-slug: Web/JavaScript/Reference/Global_Objects/Object/unwatch
-tags:
- - JavaScript
- - Об'єкт
- - застарілий
- - метод
- - налагодження
-translation_of: Archive/Web/JavaScript/Object.unwatch
----
-<div>{{JSRef}}</div>
-
-<div class="warning">
-<p><strong>Застереження:</strong> Не використовуйте <code>unwatch()</code> та {{jsxref("Object.prototype.watch", "watch()")}}! Ці два методи були реалізовані лише у Firefox до 58-ї версії, вони <strong>застаріли та були прибрані у Firefox 58+</strong>. До того ж, використання точок спостереження має серйозний негативний вплив на продуктивність, особливо при використанні на глобальних об'єктах, таких як <code>window</code>. Звісно, ви можете, натомість, використовувати <a href="/uk/docs/Web/JavaScript/Guide/Working_with_Objects#Defining_getters_and_setters">сетери та гетери</a> або <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Proxy">проксі</a>.</p>
-</div>
-
-<p>Метод <code><strong>unwatch()</strong></code> прибирає точку спостереження, встановлену методом {{jsxref("Object.prototype.watch", "watch()")}}.</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox"><code><var>obj</var>.unwatch(<var>prop</var>)</code></pre>
-
-<h3 id="Параметри">Параметри</h3>
-
-<dl>
- <dt><code>prop</code></dt>
- <dd>Ім'я властивості об'єкта, за якою треба припинити спостереження.</dd>
-</dl>
-
-<h3 id="Значення_що_повертається">Значення, що повертається</h3>
-
-<p>{{jsxref("undefined")}}.</p>
-
-<h2 id="Опис">Опис</h2>
-
-<p>Налагоджувач JavaScript має функціональність, схожу на ту, що надає даний метод, а також інші налагоджувальні можливості. Інформацію щодо налагоджувача дивіться у статті <a href="/uk/docs/Venkman">Venkman</a>.</p>
-
-<p>За замовчуванням, цей метод успадковується кожним об'єктом, похідним від {{jsxref("Object")}}.</p>
-
-<div class="note">
-<p><strong>Заувага:</strong> Причина, з якої <code>unwatch()</code> приймає властивість <em>prop</em> єдиним параметром, в тому, що метод {{jsxref("Object.watch", "watch()")}} допускає лише один обробник.</p>
-</div>
-
-<h2 id="Приклади">Приклади</h2>
-
-<p>Дивіться {{jsxref("Object.watch", "watch()")}}.</p>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<p>Не є частиною жодних специфікацій. Реалізований у JavaScript 1.2.</p>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Object.unwatch")}}</p>
-</div>
-
-<h2 id="Примітки_щодо_сумісності">Примітки щодо сумісності</h2>
-
-<ul>
- <li>Виклик <code>unwatch()</code> на об'єктах {{domxref("Document")}} викидає помилку {{jsxref("TypeError")}}, починаючи з Firefox 23 ({{bug(903332)}}). Це було виправлено у Firefox 27.</li>
-</ul>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li>{{jsxref("Object.watch()")}}</li>
-</ul>
diff --git a/files/uk/web/javascript/reference/global_objects/object/watch/index.html b/files/uk/web/javascript/reference/global_objects/object/watch/index.html
deleted file mode 100644
index 9f5536aa6e..0000000000
--- a/files/uk/web/javascript/reference/global_objects/object/watch/index.html
+++ /dev/null
@@ -1,153 +0,0 @@
----
-title: Object.prototype.watch()
-slug: Web/JavaScript/Reference/Global_Objects/Object/watch
-tags:
- - JavaScript
- - Об'єкт
- - застарілий
- - метод
- - налагодження
-translation_of: Archive/Web/JavaScript/Object.watch
----
-<div>{{JSRef}}</div>
-
-<div class="warning">
-<p><strong>Застереження:</strong> Не використовуйте <code>watch()</code> та {{jsxref("Object.prototype.unwatch", "unwatch()")}}! Ці два методи були реалізовані лише у Firefox до 58-ї версії, вони <strong>застаріли та були прибрані у Firefox 58+</strong>. До того ж, використання точок спостереження має серйозний негативний вплив на продуктивність, особливо при використанні на глобальних об'єктах, таких як <code>window</code>. Звісно, ви можете, натомість, використовувати <a href="/uk/docs/Web/JavaScript/Guide/Working_with_Objects#Defining_getters_and_setters">сетери та гетери</a> або <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Proxy">проксі</a>.</p>
-</div>
-
-<p>Метод <code><strong>watch()</strong></code> стежить за присвоєнням властивості значення, та запускає функцію, коли це відбувається.</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox"><code><var>obj</var>.watch(<var>prop</var>, <var>handler</var>)</code></pre>
-
-<h3 id="Параметри">Параметри</h3>
-
-<dl>
- <dt><code>prop</code></dt>
- <dd>Ім'я властивості об'єкта, за змінами якої ви бажаєте стежити.</dd>
- <dt><code>handler</code></dt>
- <dd>Функція, яка викликатиметься, коли значення вказаної властивості змінюється.</dd>
-</dl>
-
-<h3 id="Значення_що_повертається">Значення, що повертається</h3>
-
-<p>{{jsxref("undefined")}}.</p>
-
-<h2 id="Опис">Опис</h2>
-
-<p>Стежить за присвоєнням значень властивості <code>prop</code> у даному об'єкті, викликає <code>handler(prop, oldval, newval)</code>, коли присвоюється значення <code>prop</code>, та зберігає повернене значення у цій властивості. Точка спостереження може фільтрувати (або анулювати) присвоєння значення, повертаючи змінене значення <code>newval</code> (або повертаючи значення <code>oldval</code>).</p>
-
-<p>Якщо ви видалите властивість, для якої встановлено точку спостереження, ця точка спостереження не зникає. Якщо ви пізніше заново створите властивість, точка спостереження продовжить діяти.</p>
-
-<p>Щоб видалити точку спостереження, скористайтесь методом {{jsxref("Object.unwatch", "unwatch()")}}. За замовчуванням, метод <code>watch</code> успадковується кожним об'єктом, похідним від {{jsxref("Object")}}.</p>
-
-<p>Налагоджувач JavaScript має функціональність, схожу на ту, що надає даний метод, а також інші налагоджувальні можливості. Інформацію щодо налагоджувача дивіться у статті <a href="/uk/docs/Venkman">Venkman</a>.</p>
-
-<p>У Firefox <code>handler</code> викликається тільки з присвоєнь у скрипті, а не з нативного коду. Для прикладу, <code>window.watch('location', myHandler)</code> не викличе <code>myHandler</code>, якщо користувач натисне на посилання на закладку в активному документі. Однак, <code>window.location += '#myAnchor'</code> викличе <code>myHandler</code>.</p>
-
-<div class="note">
-<p><strong>Заувага:</strong> Виклик <code>watch()</code> на об'єкті для вказаної властивості перезаписує будь-який попередній обробник, призначений цій властивості.</p>
-</div>
-
-<h2 id="Приклади">Приклади</h2>
-
-<h3 id="Використання_watch_та_unwatch">Використання <code>watch</code> та <code>unwatch</code></h3>
-
-<pre class="brush: js">var o = { p: 1 };
-
-o.watch('p', function (id, oldval, newval) {
- console.log('Значення o.' + id + ' було змінене з ' + oldval + ' на ' + newval);
- return newval;
-});
-
-o.p = 2;
-o.p = 3;
-delete o.p;
-o.p = 4;
-
-o.unwatch('p');
-o.p = 5;
-</pre>
-
-<p>Цей скрипт виведе наступне:</p>
-
-<pre>Значення o.p було змінене з 1 на 2
-Значення o.p було змінене з 2 на 3
-Значення o.p було змінене з undefined на 4
-</pre>
-
-<h3 id="Використання_watch_для_перевірки_властивостей_обєкта">Використання <code>watch</code> для перевірки властивостей об'єкта</h3>
-
-<p>Ви можете використати <code>watch</code>, щоб перевірити будь-які присвоєння значень властивостям об'єкта. Даний приклад перевіряє, що кожна людина (Person) завжди матиме дійсне ім'я (name) та вік (age) між 0 та 200.</p>
-
-<pre class="brush: js">Person = function(name, age) {
- this.watch('age', Person.prototype._isValidAssignment);
- this.watch('name', Person.prototype._isValidAssignment);
- this.name = name;
- this.age = age;
-};
-
-Person.prototype.toString = function() {
- return this.name + ', ' + this.age;
-};
-
-Person.prototype._isValidAssignment = function(id, oldval, newval) {
- if (id === 'name' &amp;&amp; (!newval || newval.length &gt; 30)) {
- throw new RangeError("помилкове ім'я для: " + this);
- }
- if (id === 'age' &amp;&amp; (newval &lt; 0 || newval &gt; 200)) {
- throw new RangeError('помилковий вік для: ' + this);
- }
- return newval;
-}
-
-will = new Person('Вілл', 29);
-console.log(will); // Вілл, 29
-
-try {
- will.name = '';
-} catch (e) {
- console.log(e);
-}
-
-try {
- will.age = -4;
-} catch (e) {
- console.log(e);
-}
-</pre>
-
-<p>Цей скрипт виведе наступне:</p>
-
-<pre>Вілл, 29
-RangeError: помилкове ім'я для: Вілл, 29
-RangeError: помилковий вік для: Вілл, 29
-</pre>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<p>Не є частиною жодних специфікацій. Реалізований у JavaScript 1.2.</p>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Object.watch")}}</p>
-</div>
-
-<h2 id="Примітки_щодо_сумісності">Примітки щодо сумісності</h2>
-
-<ul>
- <li>Цей <a class="external link-https" href="https://gist.github.com/384583">Поліфіл</a> надає метод <code>watch</code> для усіх переглядачів, що сумісні з ES5.</li>
- <li>Використання {{jsxref("Proxy")}} дозволяє робити навіть більш глибокі зміни у роботі з присвоєнням властивостей.</li>
- <li>Виклик <code>watch()</code> на об'єкті {{domxref("Document")}} викидає помилку {{jsxref("TypeError")}}, починаючи з Firefox 23 ({{bug(903332)}}). Це було виправлено у Firefox 27.</li>
-</ul>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li>{{jsxref("Object.unwatch()")}}</li>
- <li>{{jsxref("Object.observe()")}} {{obsolete_inline}}</li>
-</ul>
diff --git a/files/uk/web/javascript/reference/global_objects/string/quote/index.html b/files/uk/web/javascript/reference/global_objects/string/quote/index.html
deleted file mode 100644
index 95ee484e6d..0000000000
--- a/files/uk/web/javascript/reference/global_objects/string/quote/index.html
+++ /dev/null
@@ -1,77 +0,0 @@
----
-title: String.prototype.quote()
-slug: Web/JavaScript/Reference/Global_Objects/String/quote
-tags:
- - JavaScript
- - String
- - застарілий
- - метод
-translation_of: Archive/Web/JavaScript/String.quote
----
-<div>{{JSRef}} {{obsolete_header("37")}} {{non-standard_header}}</div>
-
-<p>Нестандартний метод <strong><code>quote()</code></strong> повертає копію рядка, замінюючи різноманітні спеціальні символи їхнім екрануванням та загортає результат у подвійні лапки (<code>"</code>).</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox"><code><var>str</var>.quote()</code></pre>
-
-<h3 id="Значення_що_повертається">Значення, що повертається</h3>
-
-<p>Новий рядок, що відображає початковий рядок у подвійних лапках, з екрануванням будь-яких спеціальних символів.</p>
-
-<h2 id="Приклади">Приклади</h2>
-
-<p>У наведеній нижче таблиці метод <code>quote()</code> замінює будь-які спеціальні символи та загортає рядки у подвійні лапки. Також зверніть увагу на третю колонку, де загорнутий метод {{jsxref("Global_Objects/eval", "eval()")}} знову обчислює екрановані символи.</p>
-
-<table class="fullwidth-table">
- <thead>
- <tr>
- <th class="header" scope="col"><code>str</code></th>
- <th class="header" scope="col"><code>str.quote()</code></th>
- <th class="header" scope="col"><code>eval(str.quote())</code></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>Hello world!</code></td>
- <td><code>"Hello world!"</code></td>
- <td><code>Hello world!</code></td>
- </tr>
- <tr>
- <td><code style="white-space: pre;">Hello<br>
- world!</code></td>
- <td><code>"Hello\n\tworld!"</code></td>
- <td><code style="white-space: pre;">Hello<br>
- world!</code></td>
- </tr>
- <tr>
- <td><code>" \ — '</code></td>
- <td><code>"\" \\ \u2014 '"</code></td>
- <td><code>" \ — '</code></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<p>Не є частиною жодного стандарту. Реалізований у JavaScript 1.3.</p>
-
-<h2 id="Поліфіл">Поліфіл</h2>
-
-<pre class="syntaxbox"><code>if (!String.prototype.quote)
- String.prototype.quote = function(){
-  return JSON.stringify( this ); // починаючи з IE8
-</code> }</pre>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
-
-<p>{{Compat("javascript.builtins.String.quote")}}</p>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li>{{jsxref("JSON.stringify()")}}</li>
-</ul>
diff --git a/files/uk/web/javascript/reference/operators/array_comprehensions/index.html b/files/uk/web/javascript/reference/operators/array_comprehensions/index.html
deleted file mode 100644
index ebd2425ae2..0000000000
--- a/files/uk/web/javascript/reference/operators/array_comprehensions/index.html
+++ /dev/null
@@ -1,198 +0,0 @@
----
-title: Заповнення масивів
-slug: Web/JavaScript/Reference/Operators/Array_comprehensions
-tags:
- - JavaScript
- - Оператор
- - застарілий
- - нестандартний
-translation_of: Archive/Web/JavaScript/Array_comprehensions
----
-<div>{{jsSidebar("Operators")}}
-<div class="warning"><strong>Нестандартний. Не використовуйте!</strong><br>
-Синтаксис заповнення масивів є нестандартним та був прибраний, починаючи з Firefox 58. Для варіантів використання в майбутьому розгляньте {{jsxref("Array.prototype.map")}}, {{jsxref("Array.prototype.filter")}}, {{jsxref("Functions/Стрілкові_функції", "стрілкові функції", "", 1)}} та {{jsxref("Operators/Spread_syntax", "оператор розпакування", "", 1)}}.</div>
-{{Obsolete_Header(58)}}</div>
-
-<p>Синтаксис <strong>заповнення масивів</strong> (array comprehension) був виразом JavaScript, який дозволяв швидко збирати новий масив, базуючись на вже існуючому масиві. Однак, він був прибраний зі стандарту та з реалізації Firefox. Не використовуйте його!</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox">[for (x of iterable) x]
-[for (x of iterable) if (condition) x]
-[for (x of iterable) for (y of iterable) x + y]
-</pre>
-
-<h2 id="Опис">Опис</h2>
-
-<p>У заповненнях масивів дозволені наступні два види компонентів:</p>
-
-<ul>
- <li>{{jsxref("Statements/for...of", "for...of")}} та</li>
- <li>{{jsxref("Statements/if...else", "if")}}</li>
-</ul>
-
-<p>Перебір for-of завжди є першим компонентом. Можна використовувати більше одного перебору for-of чи if-конструкцій.</p>
-
-<p>Заповнення масивів були попередньо запропоновані для стандартизації у ECMAScript 2016, вони надають корисне скорочення запису для конструювання нового масиву на основі змісту іншого масиву. Заповнення часто можуть використовуватись замість викликів {{jsxref("Array.prototype.map", "map()")}} та {{jsxref("Array.prototype.filter", "filter()")}}, або як засіб їх об'єднати.</p>
-
-<p>Наступне заповнення бере масив чисел та створює новий масив, де кожне з цих чисел подвоюється.</p>
-
-<pre class="brush: js">var numbers = [1, 2, 3, 4];
-var doubled = [for (i of numbers) i * 2];
-console.log(doubled); // виводить 2,4,6,8
-</pre>
-
-<p>Це еквівалентно наступній операції {{jsxref("Array.prototype.map", "map()")}}:</p>
-
-<pre class="brush: js">var doubled = numbers.map(i =&gt; i * 2);
-</pre>
-
-<p>Заповнення також можуть використовуватись для відбору елементів, які відповідають певному виразу. Ось заповнення, яке обирає лише парні числа:</p>
-
-<pre class="brush: js">var numbers = [1, 2, 3, 21, 22, 30];
-var evens = [for (i of numbers) if (i % 2 === 0) i];
-console.log(evens); // виводить 2,22,30
-</pre>
-
-<p>Метод {{jsxref("Array.prototype.filter", "filter()")}} може використовуватись для тієї ж самої мети:</p>
-
-<pre class="brush: js">var evens = numbers.filter(i =&gt; i % 2 === 0);
-</pre>
-
-<p>Операції з {{jsxref("Array.prototype.map", "map()")}} та {{jsxref("Array.prototype.filter", "filter()")}} можна об'єднати у єдине заповнення масиву. Ось таке, що відфільтровує лише парні числа, а потім створює масив, де вони подвоєні:</p>
-
-<pre class="brush: js">var numbers = [1, 2, 3, 21, 22, 30];
-var doubledEvens = [for (i of numbers) if (i % 2 === 0) i * 2];
-console.log(doubledEvens); // виводить 4,44,60
-</pre>
-
-<p>Квадратні дужки заповнення масиву створюють неявний блок для області видимості. Нові змінні (такі, як i у прикладі) поводяться так, ніби вони були оголошені за допомогою {{jsxref("Statements/let","let")}}. Це означає, що вони не будуть доступні за межами заповнення.</p>
-
-<p>Вхідні дані для заповнення масиву не обов'язково самі мають бути масивом; <a href="/uk/docs/Web/JavaScript/Guide/Iterators_and_Generators" title="en-US/docs/JavaScript/Guide/Iterators and Generators">ітератори та генератори</a> також підійдуть.</p>
-
-<p>Навіть рядки можна використовувати як вхідні дані; щоб виконати наведені вище функції filter та map (на подібних до масиву об'єктах):</p>
-
-<pre class="brush: js">var str = 'abcdef';
-var consonantsOnlyStr = [for (c of str) if (!(/[aeiouAEIOU]/).test(c)) c].join(''); // 'bcdf'
-var interpolatedZeros = [for (c of str) c + '0' ].join(''); // 'a0b0c0d0e0f0'
-</pre>
-
-<p>Знову ж таки, початкова форма не зберігається, тому нам доведеться скористатись методом {{jsxref("Array.prototype.join", "join()")}}, щоб повернутись до рядка.</p>
-
-<h2 id="Приклади">Приклади</h2>
-
-<h3 id="Прості_заповнення_масивів">Прості заповнення масивів</h3>
-
-<pre class="brush:js">[for (i of [1, 2, 3]) i * i ];
-// [1, 4, 9]
-
-var abc = ['А', 'Б', 'В'];
-[for (letters of abc) letters.toLowerCase()];
-// ["а", "б", "в"]</pre>
-
-<h3 id="Заповнення_масивів_з_оператором_if">Заповнення масивів з оператором if</h3>
-
-<pre class="brush: js">var years = [1954, 1974, 1990, 2006, 2010, 2014];
-[for (year of years) if (year &gt; 2000) year];
-// [2006, 2010, 2014]
-[for (year of years) if (year &gt; 2000) if (year &lt; 2010) year];
-// [2006], те саме, що й нижче:
-[for (year of years) if (year &gt; 2000 &amp;&amp; year &lt; 2010) year];
-// [2006]
-</pre>
-
-<h3 id="Заповнення_масивів_у_порівнянні_з_map_та_filter">Заповнення масивів у порівнянні з <code>map</code> та <code>filter</code></h3>
-
-<p>Легко зрозуміти синтаксис заповнення масивів, порівнявши його з методами масиву {{jsxref("Array.map", "map")}} та {{jsxref("Array.filter", "filter")}}:</p>
-
-<pre class="brush: js">var numbers = [1, 2, 3];
-
-numbers.map(function (i) { return i * i });
-numbers.map(i =&gt; i * i);
-[for (i of numbers) i * i];
-// усі дорівнюють [1, 4, 9]
-
-numbers.filter(function (i) { return i &lt; 3 });
-numbers.filter(i =&gt; i &lt; 3);
-[for (i of numbers) if (i &lt; 3) i];
-// усі дорівнюють [1, 2]
-</pre>
-
-<h3 id="Заповнення_масивів_з_двома_масивами">Заповнення масивів з двома масивами</h3>
-
-<p>Використання двох переборів for-of для роботи з двома масивами:</p>
-
-<pre class="brush: js">var numbers = [1, 2, 3];
-var letters = ['а', 'б', 'в'];
-
-var cross = [for (i of numbers) for (j of letters) i + j];
-// ["1а", "1б", "1в", "2а", "2б", "2в", "3а", "3б", "3в"]
-
-var grid = [for (i of numbers) [for (j of letters) i + j]];
-// [
-// ["1а", "1б", "1в"],
-// ["2а", "2б", "2в"],
-// ["3а", "3б", "3в"]
-// ]
-
-[for (i of numbers) if (i &gt; 1) for (j of letters) if(j &gt; 'а') i + j]
-// ["2б", "2в", "3б", "3в"], те саме, що й наведене нижче:
-
-[for (i of numbers) for (j of letters) if (i &gt; 1) if(j &gt; 'а') i + j]
-// ["2б", "2в", "3б", "3в"]
-
-[for (i of numbers) if (i &gt; 1) [for (j of letters) if(j &gt; 'а') i + j]]
-// [["2б", "2в"], ["3б", "3в"]], не те саме, що наведене нижче:
-
-[for (i of numbers) [for (j of letters) if (i &gt; 1) if(j &gt; 'а') i + j]]
-// [[], ["2б", "2в"], ["3б", "3в"]]
-</pre>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<p>Початково синтаксис був присутній у чорнетці ECMAScript 2015, але був видалений у ревізії 27 (серпень 2014). Будь ласка, дивіться семантику специфікації у старших ревізіях ES2015.</p>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-
-
-<p>{{Compat("javascript.operators.array_comprehensions")}}</p>
-
-<h2 id="Відмінності_від_заповнень_у_JS1.7JS1.8">Відмінності від заповнень у JS1.7/JS1.8</h2>
-
-<div class="warning">Заповнення JS1.7/JS1.8 були прибрані з Gecko, починаючи з версії 46 ({{bug(1220564)}}).</div>
-
-<p><strong>Старий синтаксис заповнень (більше не використовується!):</strong></p>
-
-<pre class="brush: js example-bad">[X for (Y in Z)]
-[X for each (Y in Z)]
-[X for (Y of Z)]
-</pre>
-
-<p>Відмінності:</p>
-
-<ul>
- <li>Заповнення ESNext створюють область видимості для кожного блоку "for", а не для всього заповнення.
- <ul>
- <li>Старе: <code>[()=&gt;x for (x of [0, 1, 2])][1]() // 2</code></li>
- <li>Нове: <code>[for (x of [0, 1, 2]) ()=&gt;x][1]() // 1, кожна ітерація створює свіже зв'язування для x. </code></li>
- </ul>
- </li>
- <li>Заповнення ESNext починаються з "for", а не з виразу присвоювання.
- <ul>
- <li>Старе: <code>[i * 2 for (i of numbers)]</code></li>
- <li>Нове: <code>[for (i of numbers) i * 2]</code></li>
- </ul>
- </li>
- <li>Заповнення ESNext можуть мати декілька компонентів <code>if</code> та <code>for</code>.</li>
- <li>Заповнення ESNext працюють тільки з переборами <code>{{jsxref("Statements/for...of", "for...of")}}</code>, а не з <code>{{jsxref("Statements/for...in", "for...in")}}</code>.</li>
-</ul>
-
-<p>Дивіться пропозиції щодо змін у коді у <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1220564#c42">Bug 1220564, коментар 42</a>.</p>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li>{{jsxref("Statements/for...of", "for...of")}}</li>
- <li>{{jsxref("Operators/Generator_comprehensions", "Заповнення генераторів", "" ,1)}}</li>
-</ul>
diff --git a/files/uk/web/javascript/reference/operators/expression_closures/index.html b/files/uk/web/javascript/reference/operators/expression_closures/index.html
deleted file mode 100644
index e3a0bff185..0000000000
--- a/files/uk/web/javascript/reference/operators/expression_closures/index.html
+++ /dev/null
@@ -1,78 +0,0 @@
----
-title: Вирази-замикання
-slug: Web/JavaScript/Reference/Operators/Expression_closures
-tags:
- - Function
- - JavaScript
- - Оператор
- - застарілий
- - нестандартний
-translation_of: Archive/Web/JavaScript/Expression_closures
----
-<div>{{JSSidebar("Operators")}}{{Non-standard_Header}}{{Obsolete_Header("gecko60")}}
-<div class="warning"><strong>Нестандартний. Не використовуйте!</strong><br>
-Синтаксис виразів-замикань є нерекомендованою особливою функціональністю Firefox, він був прибраний, починаючи з Firefox 60. Для використання у майбутньому розгляньте <a href="/uk/docs/Web/JavaScript/Reference/Functions/Стрілкові_функції">стрілкові функції</a>.</div>
-</div>
-
-<p>Вирази-замикання - це скорочений синтаксис для написання простих функцій.</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox">function [<em>name</em>]([<em>param1</em>[, <em>param2[</em>, ..., <em>paramN</em>]]])
- <em>expression</em>
-</pre>
-
-<h3 id="Параметри">Параметри</h3>
-
-<dl>
- <dt><code>name</code></dt>
- <dd>Ім'я функції. Можна пропустити, в цьому випадку функція буде <em>анонімною</em>. Ім'я доступне лише всередині тіла функції.</dd>
- <dt><code>paramN</code></dt>
- <dd>Ім'я аргумента, що передається у функцію. Функція може мати до 255 аргументів.</dd>
- <dt><code>expression</code></dt>
- <dd>Вираз, який складає тіло функції.</dd>
-</dl>
-
-<h2 id="Опис">Опис</h2>
-
-<p>Це доповнення є не більше, ніж скороченим синтаксисом для написання простих функцій, надаючи мові щось схоже на типову <a class="external" href="https://uk.wikipedia.org/wiki/%D0%9B%D1%8F%D0%BC%D0%B1%D0%B4%D0%B0-%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F">нотацію лямбда-числення</a>.</p>
-
-<p>JavaScript 1.7 та старші:</p>
-
-<pre class="brush: js">function(x) { return x * x; }</pre>
-
-<p>JavaScript 1.8:</p>
-
-<pre class="brush: js">function(x) x * x</pre>
-
-<p>Цей синтаксис дозволяє не писати фігурні дужки та оператор 'return' - вони стають неявними. Такий запис не надає жодної іншої переваги в написанні коду, окрім синтаксично коротшого запису.</p>
-
-<h2 id="Приклади">Приклади</h2>
-
-<p>Скорочений запис для зв'язування прослуховувачів подій:</p>
-
-<pre class="brush: js"> document.addEventListener('click', function() false, true);
-</pre>
-
-<p>Використання цієї нотації з деякими функціями масивів з JavaScript 1.6:</p>
-
-<pre class="brush: js">elems.some(function(elem) elem.type == 'text');
-</pre>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-
-
-<p>{{Compat("javascript.operators.expression_closures")}}</p>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li>{{JSxRef("Functions", "Функції")}}</li>
- <li>{{JSxRef("Function")}}</li>
- <li>{{JSxRef("Statements/function", "оператор function")}}</li>
- <li>{{JSxRef("Operators/function", "функціональний вираз")}}</li>
- <li>{{JSxRef("Statements/function*", "оператор function*")}}</li>
- <li>{{JSxRef("Operators/function*", "вираз function*")}}</li>
- <li>{{JSxRef("GeneratorFunction")}}</li>
-</ul>
diff --git a/files/uk/web/javascript/reference/operators/generator_comprehensions/index.html b/files/uk/web/javascript/reference/operators/generator_comprehensions/index.html
deleted file mode 100644
index 30d8a0f6d7..0000000000
--- a/files/uk/web/javascript/reference/operators/generator_comprehensions/index.html
+++ /dev/null
@@ -1,174 +0,0 @@
----
-title: Заповнення генераторів
-slug: Web/JavaScript/Reference/Operators/Generator_comprehensions
-tags:
- - JavaScript
- - Ітератор
- - застарілий
- - нестандартний
-translation_of: Archive/Web/JavaScript/Generator_comprehensions
----
-<div>{{JSSidebar("Operators")}}{{Non-standard_Header}}{{Obsolete_Header("gecko58")}}
-<div class="blockIndicator warning">
-<p><strong>Нестандартний. Не використовуйте!</strong><br>
- Синтаксис заповнень генераторів є нестандартним та був прибраний, починаючи з Firefox 58. Для використання в майбутньому розгляньте {{JSxRef("Statements/function*", "генератори", "", 1)}}.</p>
-</div>
-</div>
-
-<p>Синтаксис <strong>заповнення генераторів </strong>(generator comprehension) був виразом JavaScript, який дозволяв швидко збирати нову функцію-генератор, базуючись на вже існуючому ітерабельному об'єкті. Однак, він був прибраний зі стандарту та з реалізації Firefox. Не використовуйте його!</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox">(for (x of iterable) x)
-(for (x of iterable) if (condition) x)
-(for (x of iterable) for (y of iterable) x + y)
-</pre>
-
-<h2 id="Опис">Опис</h2>
-
-<p>У заповненнях генераторів дозволені наступні два види компонентів:</p>
-
-<ul>
- <li>{{JSxRef("Statements/for...of", "for...of")}} та</li>
- <li>{{JSxRef("Statements/if...else", "if")}}</li>
-</ul>
-
-<p>Перебір <code>for-of</code> завжди є першим компонентом. Можна використовувати більше одного перебору <code>for-of</code> чи if-конструкцій.</p>
-
-<p>Значним недоліком {{JSxRef("Operators/Array_comprehensions","заповнень масивів","","true")}} є те, що вони можуть спричинити конструювання у пам'яті цілого нового масиву. Коли самі вхідні дані для заповнення є маленьким масивом, затрати пам'яті є незначними — але коли вхідні дані є великим масивом, або затратним (чи взагалі нескінченним) генератором, створення нового масиву може бути проблематичним.</p>
-
-<p>Генератори дозволяють ліниві обчислення послідовностей, з обчисленням елементів на вимогу, коли є потреба. Заповнення генераторів синтаксично майже ідентичні заповненням масивів — вони використовують круглі дужки замість квадратних — але замість створення масиву вони створюють генератор, який може виконуватися ліниво. Можете вважати їх скороченим синтаксисом для створення генераторів.</p>
-
-<p>Припустимо, ми маємо ітератор <code>it</code>, який перебирає великі послідовності цілих чисел. Ми бажаємо створити новий ітератор, який перебиратиме їхні подвоєні значення. Заповнення масиву створило б цілий масив у пам'яті, що містив би подвоєні значення:</p>
-
-<pre class="brush: js">var doubles = [for (i in it) i * 2];
-</pre>
-
-<p>Заповнення генератора, з іншого боку, створило б новий ітератор, який створював би подвоєні значення на вимогу, в разі потреби:</p>
-
-<pre class="brush: js">var it2 = (for (i in it) i * 2);
-console.log(it2.next()); // Перше значення з it, подвоєне
-console.log(it2.next()); // Друге значення з it, подвоєне
-</pre>
-
-<p>Коли заповнення генератора використовується як аргумент функції, круглі дужки, що використовуються для виклику функції, означають, що зовнішні дужки можна пропустити:</p>
-
-<pre class="brush: js">var result = doSomething(for (i in it) i * 2);
-</pre>
-
-<p>Значною відмінністю між цими двома прикладами є те, що, використовуючи заповнення генератора, ви перебиратимете структуру 'obj' лише один раз, всього, на відміну від одного обходу при заповненні масиву та ще одного під час його перебору.</p>
-
-<h2 id="Приклади">Приклади</h2>
-
-<h3 id="Прості_заповнення_генераторів">Прості заповнення генераторів</h3>
-
-<pre class="brush:js">(for (i of [1, 2, 3]) i * i );
-// функція-генератор, що видає 1, 4 та 9
-
-[...(for (i of [1, 2, 3]) i * i )];
-// [1, 4, 9]
-
-var abc = ['А', 'Б', 'В'];
-(for (letters of abc) letters.toLowerCase());
-// функція-генератор, що видає "а", "б" та "в"
-</pre>
-
-<h3 id="Заповнення_генераторів_з_оператором_if">Заповнення генераторів з оператором if</h3>
-
-<pre class="brush: js">var years = [1954, 1974, 1990, 2006, 2010, 2014];
-
-(for (year of years) if (year &gt; 2000) year);
-// функція-генератор, що видає 2006, 2010 та 2014
-
-(for (year of years) if (year &gt; 2000) if (year &lt; 2010) year);
-// функція-генератор, що видає 2006, те саме нижче:
-
-(for (year of years) if (year &gt; 2000 &amp;&amp; year &lt; 2010) year);
-// функція-генератор, що видає 2006
-</pre>
-
-<h3 id="Заповнення_генераторів_у_порівнянні_з_функцією-генератором">Заповнення генераторів у порівнянні з функцією-генератором</h3>
-
-<p>Легко зрозуміти синтаксис заповнення генераторів, порівнявши його з функцією-генератором.</p>
-
-<p>Приклад 1: Простий генератор.</p>
-
-<pre class="brush: js">var numbers = [1, 2, 3];
-
-// Функція-генератор
-(function*() {
- for (let i of numbers) {
- yield i * i;
- }
-})();
-
-// Заповнення генератора
-(for (i of numbers) i * i );
-
-// Результат: Обидва повертають генератор, який видає [1, 4, 9]
-</pre>
-
-<p>Приклад 2: Використання <code>if</code> у генераторі.</p>
-
-<pre class="brush: js">var numbers = [1, 2, 3];
-
-// Функція-генератор
-(function*() {
- for (let i of numbers) {
- if (i &lt; 3) {
- yield i * 1;
- }
- }
-})();
-
-// Заповнення генератора
-(for (i of numbers) if (i &lt; 3) i);
-
-// Результат: обидва вертають генератор, який видає [1, 2]</pre>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<p>Заповнення генераторів було початково присутнє у чорнетці ECMAScript 2015, але було прибране у ревізії 27 (серпень 2014). Будь-ласка, дивіться семантику специфікації у старших ревізіях ES2015.</p>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-
-
-<p>{{Compat("javascript.operators.generator_comprehensions")}}</p>
-
-<h2 id="Відмінності_від_заповнень_у_JS1.7JS1.8">Відмінності від заповнень у JS1.7/JS1.8</h2>
-
-<div class="blockIndicator warning">Заповнення JS1.7/JS1.8 були прибрані з Gecko 46 ({{bug(1220564)}}).</div>
-
-<p><strong>Старий синтаксис заповнень (більше не використовується!):</strong></p>
-
-<pre class="brush: js example-bad">(X for (Y in Z))
-(X for each (Y in Z))
-(X for (Y of Z))
-</pre>
-
-<p>Відмінності:</p>
-
-<ul>
- <li>Заповнення ES7 створюють область видимості для кожного блоку "for", а не для всього заповнення.
- <ul>
- <li>Старе: <code>[...(()=&gt;x for (x of [0, 1, 2]))][1]() // 2</code></li>
- <li>Нове: <code>[...(for (x of [0, 1, 2]) ()=&gt;x)][1]() // 1, кожна ітерація створює свіже зв'язування для x. </code></li>
- </ul>
- </li>
- <li>Заповнення ES7 починаються з "for", а не з виразу присвоювання.
- <ul>
- <li>Старе: <code>(i * 2 for (i of numbers))</code></li>
- <li>Нове: <code>(for (i of numbers) i * 2)</code></li>
- </ul>
- </li>
- <li>Заповнення ES7 можуть мати декілька компонентів <code>if</code> та <code>for</code>.</li>
- <li>Заповнення ES7 працюють тільки з переборами <code>{{JSxRef("Statements/for...of", "for...of")}}</code>, а не з <code>{{JSxRef("Statements/for...in", "for...in")}}</code>.</li>
-</ul>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li>{{JSxRef("Statements/for...of", "for...of")}}</li>
- <li>{{JSxRef("Operators/Array_comprehensions", "Заповнення масивів")}}</li>
-</ul>