aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/global_objects/array/@@iterator
diff options
context:
space:
mode:
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/array/@@iterator')
-rw-r--r--files/uk/web/javascript/reference/global_objects/array/@@iterator/index.html116
1 files changed, 116 insertions, 0 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/array/@@iterator/index.html b/files/uk/web/javascript/reference/global_objects/array/@@iterator/index.html
new file mode 100644
index 0000000000..3ab9407b4e
--- /dev/null
+++ b/files/uk/web/javascript/reference/global_objects/array/@@iterator/index.html
@@ -0,0 +1,116 @@
+---
+title: 'Array.prototype[@@iterator]()'
+slug: Web/JavaScript/Reference/Global_Objects/Array/@@iterator
+tags:
+ - Array
+ - ECMAScript 2015
+ - JavaScript
+ - Ітератор
+ - Масив
+ - метод
+ - прототип
+translation_of: Web/JavaScript/Reference/Global_Objects/Array/@@iterator
+---
+<div>{{JSRef}}</div>
+
+<p>Початковим значенням властивості <code><strong>@@iterator</strong></code> є та сама функція, яка є початковим значенням властивості {{jsxref("Array.prototype.values()", "values()")}}.</p>
+
+<h2 id="Синтаксис">Синтаксис</h2>
+
+<pre class="syntaxbox"><code><var>arr</var>[Symbol.iterator]()</code></pre>
+
+<h3 id="Значення_що_повертається">Значення, що повертається</h3>
+
+<p>Початкове значення, що надається <strong>ітератором</strong> {{jsxref("Array.prototype.values()", "values()")}}. За замовчуванням, використання <code>arr[Symbol.iterator]</code> поверне функцію {{jsxref("Array.prototype.values()", "values()")}}.</p>
+
+<h2 id="Приклад">Приклад</h2>
+
+<h3 id="Перебір_за_допомогою_циклу_for...of">Перебір за допомогою циклу <code>for...of</code></h3>
+
+<pre class="brush: js">var arr = ['a', 'b', 'c', 'd', 'e'];
+var eArr = arr[Symbol.iterator]();
+// ваш переглядач має підтримувати цикл for..of
+// та змінні, оголошені через let, у циклах for
+// також можна використати const та var
+for (let letter of eArr) {
+ console.log(letter);
+}
+</pre>
+
+<h3 id="Альтернативний_перебір">Альтернативний перебір</h3>
+
+<pre class="brush: js">var arr = ['а', 'б', 'в', 'г', 'ґ'];
+var eArr = arr[Symbol.iterator]();
+console.log(eArr.next().value); // а
+console.log(eArr.next().value); // б
+console.log(eArr.next().value); // в
+console.log(eArr.next().value); // г
+console.log(eArr.next().value); // ґ
+</pre>
+
+<h3 id="Випадок_використання_позначення_через_квадратні_дужки">Випадок використання позначення через квадратні дужки</h3>
+
+<p>Використовувати цей синтаксис замість позначення через крапку (<code>Array.prototype.values()</code>) зручно, коли ви не знаєте заздалегідь, яким буде об'єкт. Якщо ви маєте функцію, що приймає ітератор та перебирає значення, але не знаєте, чи матиме цей об'єкт метод [Iterable].prototype.values. Це може бути вбудований об'єкт, такий як <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/String/@@iterator">String</a>, або користувацький об'єкт.</p>
+
+<pre class="brush: js">function logIterable(it) {
+ var iterator = it[Symbol.iterator]();
+ // ваш переглядач має підтримувати цикл for..of
+ // та змінні, оголошені через let, у циклах for
+ // також можна використати const та var
+ for (let letter of iterator) {
+ console.log(letter);
+ }
+}
+
+// Масив
+logIterable(['а', 'б', 'в']);
+// а
+// б
+// в
+
+// рядок
+logIterable('абв');
+// а
+// б
+// в</pre>
+
+<h2 id="Специфікації">Специфікації</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Специфікація</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Коментар</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName('ES2015', '#sec-array.prototype-@@iterator', 'Array.prototype[@@iterator]()')}}</td>
+ <td>{{Spec2('ES2015')}}</td>
+ <td>Початкове визначення.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-array.prototype-@@iterator', 'Array.prototype[@@iterator]()')}}</td>
+ <td>{{Spec2('ESDraft')}}</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
+
+
+
+<p>{{Compat("javascript.builtins.Array.@@iterator")}}</p>
+
+<h2 id="Див._також">Див. також</h2>
+
+<ul>
+ <li>{{jsxref("Array.prototype.keys()")}}</li>
+ <li>{{jsxref("Array.prototype.entries()")}}</li>
+ <li>{{jsxref("Array.prototype.forEach()")}}</li>
+ <li>{{jsxref("Array.prototype.every()")}}</li>
+ <li>{{jsxref("Array.prototype.some()")}}</li>
+ <li>{{jsxref("Array.prototype.values()")}}</li>
+</ul>