Тры ўбудаваныя ітэратары ў JavaScript

На самой справе кожны ітэруемы аб'ект утрымлівае не адзін ітэратар, а тры: 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?