Τρία ενσωματωμένα επαναλήπτες στην 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;