From a02d1cae8455a49537c9462d0d490a97554617c0 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Mon, 19 Aug 2024 23:40:23 +0900 Subject: [PATCH] =?UTF-8?q?2024/07/15=20=E6=99=82=E7=82=B9=E3=81=AE?= =?UTF-8?q?=E8=8B=B1=E8=AA=9E=E7=89=88=E3=81=AB=E5=9F=BA=E3=81=A5=E3=81=8D?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../array/symbol.iterator/index.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/files/ja/web/javascript/reference/global_objects/array/symbol.iterator/index.md b/files/ja/web/javascript/reference/global_objects/array/symbol.iterator/index.md index d5afb1f859e60c..b19ab0c8b3d1ad 100644 --- a/files/ja/web/javascript/reference/global_objects/array/symbol.iterator/index.md +++ b/files/ja/web/javascript/reference/global_objects/array/symbol.iterator/index.md @@ -1,14 +1,13 @@ --- -title: Array.prototype[@@iterator]() +title: Array.prototype[Symbol.iterator]() slug: Web/JavaScript/Reference/Global_Objects/Array/Symbol.iterator -original_slug: Web/JavaScript/Reference/Global_Objects/Array/@@iterator l10n: - sourceCommit: 5c3c25fd4f2fbd7a5f01727a65c2f70d73f1880a + sourceCommit: 6fbdb78c1362fae31fbd545f4b2d9c51987a6bca --- {{JSRef}} -**`[@@iterator]()`** は {{jsxref("Array")}} インスタンスのメソッドで、[反復可能プロトコル](/ja/docs/Web/JavaScript/Reference/Iteration_protocols) を実装しており、[スプレッド構文](/ja/docs/Web/JavaScript/Reference/Operators/Spread_syntax) や {{jsxref("Statements/for...of", "for...of")}} ループのような反復可能オブジェクトを期待するほとんどの構文で配列を利用することができます。配列の各インデックスの値を返す[配列イテレーターオブジェクト](/ja/docs/Web/JavaScript/Reference/Global_Objects/Iterator)を返します。 +**`[Symbol.iterator]()`** は {{jsxref("Array")}} インスタンスのメソッドで、[反復可能プロトコル](/ja/docs/Web/JavaScript/Reference/Iteration_protocols)を実装しており、[スプレッド構文](/ja/docs/Web/JavaScript/Reference/Operators/Spread_syntax)や {{jsxref("Statements/for...of", "for...of")}} ループのような反復可能オブジェクトを期待するほとんどの構文で配列を利用することができます。配列の各インデックスの値を返す[配列イテレーターオブジェクト](/ja/docs/Web/JavaScript/Reference/Global_Objects/Iterator)を返します。 このプロパティの初期値は {{jsxref("Array.prototype.values")}} プロパティの初期値と同じ関数オブジェクトです。 @@ -32,7 +31,7 @@ array[Symbol.iterator]() ### for...of ループを用いた反復処理 -このメソッドを直接呼び出す必要はほとんどないことに注意してください。 `@@iterator` メソッドが存在することで、配列を[反復処理可能](/ja/docs/Web/JavaScript/Reference/Iteration_protocols#the_iterable_protocol)にすることができ、 `for...of` ループのような反復処理構文では、自動的にこのメソッドを呼び出して、ループするイテレーターを取得します。 +このメソッドを直接呼び出す必要はほとんどないことに注意してください。 `[Symbol.iterator]() メソッドが存在することで、配列を[反復処理可能](/ja/docs/Web/JavaScript/Reference/Iteration_protocols#the_iterable_protocol)にすることができ、 `for...of` ループのような反復処理構文では、自動的にこのメソッドを呼び出して、ループするイテレーターを取得します。 #### HTML @@ -72,7 +71,7 @@ console.log(arrIter.next().value); // e ### 文字列と文字列配列を同じ関数で処理 -[文字列](/ja/docs/Web/JavaScript/Reference/Global_Objects/String/@@iterator)と配列はどちらもイテレータープロトコルを実装しているので、汎用関数は両方の入力を同じ方法で処理するように設計することができます。これは、 {{jsxref("Array.prototype.values()")}} を直接呼び出すよりも優れており、入力が配列であるか、少なくともそのようなメソッドを持つオブジェクトであることを要求されます。 +[文字列](/ja/docs/Web/JavaScript/Reference/Global_Objects/String/Symbol.iterator)と配列はどちらもイテレータープロトコルを実装しているので、汎用関数は両方の入力を同じ方法で処理するように設計することができます。これは、 {{jsxref("Array.prototype.values()")}} を直接呼び出すよりも優れており、入力が配列であるか、少なくともそのようなメソッドを持つオブジェクトであることを要求されます。 ```js function logIterable(it) { @@ -112,13 +111,13 @@ logIterable(123); ## 関連情報 -- [`Array.prototype[@@iterator]` のポリフィル (`core-js`)](https://github.com/zloirock/core-js#ecmascript-array) +- [`Array.prototype[Symbol.iterator]` のポリフィル (`core-js`)](https://github.com/zloirock/core-js#ecmascript-array) - [インデックス付きコレクション](/ja/docs/Web/JavaScript/Guide/Indexed_collections)ガイド - {{jsxref("Array")}} - {{jsxref("Array.prototype.keys()")}} - {{jsxref("Array.prototype.entries()")}} - {{jsxref("Array.prototype.values()")}} -- [`TypedArray.prototype[@@iterator]()`](/ja/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/@@iterator) -- [`String.prototype[@@iterator]()`](/ja/docs/Web/JavaScript/Reference/Global_Objects/String/@@iterator) +- [`TypedArray.prototype[Symbol.iterator]()`](/ja/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/Symbol.iterator) +- [`String.prototype[Symbol.iterator]()`](/ja/docs/Web/JavaScript/Reference/Global_Objects/String/Symbol.iterator) - {{jsxref("Symbol.iterator")}} - [反復処理プロトコル](/ja/docs/Web/JavaScript/Reference/Iteration_protocols)