A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Set/Symbol.iterator below:

Set.prototype[Symbol.iterator]() - JavaScript | MDN

Set.prototype[Symbol.iterator]()

Baseline Widely available

[Symbol.iterator]() は Set インスタンスのメソッドで、反復処理プロトコルを実装しており、 Set オブジェクトを、反復可能オブジェクトを期待するほとんどの構文、例えばスプレッド構文 や for...of ループなどで利用できるようにします。これは、挿入順に集合の値を返す集合イテレーターオブジェクトを返します。

このプロパティの初期値は、Set.prototype.values プロパティの初期値と同じ関数オブジェクトです。

試してみましょう
const set1 = new Set();

set1.add(42);
set1.add("forty two");

const iterator1 = set1[Symbol.iterator]();

console.log(iterator1.next().value);
// Expected output: 42

console.log(iterator1.next().value);
// Expected output: "forty two"
構文 引数

なし。

返値

Set.prototype.values() と同じく、値の集合を生成する新しい反復可能なイテレーターオブジェクトを返します。

例 for...of ループを使用した反復処理

このメソッドを直接呼び出す必要はほとんどないことに注意してください。[Symbol.iterator]() メソッドの存在によって Set オブジェクトは反復可能になり、for...of 文のような反復処理の構文は自動的にこのメソッドを呼ぶことで反復処理を行うためのイテレーターを取得できるようになります。

const mySet = new Set();
mySet.add("0");
mySet.add(1);
mySet.add({});

for (const v of mySet) {
  console.log(v);
}
手動でイテレーターを扱う

反復処理を最大限に制御するために、返されたイテレーターオブジェクトの next() メソッドを手動で呼び出すことも可能です。

const mySet = new Set();
mySet.add("0");
mySet.add(1);
mySet.add({});

const setIter = mySet[Symbol.iterator]();

console.log(setIter.next().value); // "0"
console.log(setIter.next().value); // 1
console.log(setIter.next().value); // {}
仕様書 ブラウザーの互換性 関連情報

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4