Generator via beregnet egenskab i JavaScript
I den forrige lektion tildelte vi generatoren for objektet med en separat kommando. Sådan så vores objekt ud:
let obj = {
a: 1,
b: 2,
c: 3,
};
Sådan definerede vi generatoren:
obj[Symbol.iterator] = function *() {
for (let key in this) {
yield obj[key];
}
}
Faktisk kan vi omskrive vores kode
på en anden måde via en
beregnet egenskab:
let obj = {
a: 1,
b: 2,
c: 3,
[Symbol.iterator]: function *(){
for (let key in this){
yield this[key];
}
}
};
Lad os teste iterationen:
for (let elem of obj) {
console.log(elem); // 1, 2, 3
}
Omskriv løsningen på opgaven fra den forrige lektion ved hjælp af en beregnet egenskab.