Opérateur spread et itérateurs en JavaScript
L'opérateur spread décompose tout objet
qui possède un itérateur. L'itérateur
par défaut sera utilisé. Regardons
un exemple. Supposons que nous ayons
la collection Map suivante :
javascriptlet map = new Map();
map.set('a', 1);
map.set('b', 2);
map.set('c', 3);
Par défaut, la décomposition donnera un tableau bidimensionnel :
javascriptlet arr = [...map];
console.log(arr); // [['a', 1], ['b', 2], ['c', 3]]
Pour obtenir un tableau de clés, décomposons l'itérateur correspondant :
javascriptlet arr = [...map.keys()];
console.log(arr); // ['a', 'b', 'c']
Procédons de manière analogue pour obtenir un tableau de valeurs :
javascriptlet arr = [...map.values()];
console.log(arr); // [1, 2, 3]
Задание 1
Décomposez avec le spread l'objet suivant :
javascriptlet obj = {
a: 1,
b: 2,
c: 3,
[Symbol.iterator]: function *(){
for (let key in this){
yield this[key];
}
}
};