JavaScriptの3つの組み込みイテレータ

実際、すべてのイテレータ可能オブジェクトは 1つではなく3つのイテレータを含んでいます: values、keys、entriesです。 各タイプのオブジェクトに対しては、デフォルトで 独自のイテレータが適用されます。配列の場合はvalues、 一方、例えばMapコレクションの場合は entriesです。

この知識を持っていれば、今やこの原則を あらゆるコレクションに適用できます。 例えば、Mapコレクションがあるとします:

javascriptlet map = new Map();
map.set('a', 1);
map.set('b', 2);
map.set('c', 3);

デフォルトでは、このコレクションには イテレータentriesが適用されます:

javascriptfor (let elem of map) {
  console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}

しかし、私たちのコレクションのキーを 簡単に取得できます:

javascriptfor (let elem of map.keys()) {
  console.log(elem); // 'a', 'b', 'c'
}

値も同様に取得できます:

javascriptfor (let elem of map.values()) {
  console.log(elem); // 1, 2, 3
}
Задание 1

Setコレクションでは、デフォルトでどのイテレータが 機能しますか?