Generator via beräknad egenskap i JavaScript
I föregående lektion tilldelade vi generatorn för objektet med ett separat kommando. Så här såg vårt objekt ut:
let obj = {
a: 1,
b: 2,
c: 3,
};
Så här satte vi generatorn:
obj[Symbol.iterator] = function *() {
for (let key in this) {
yield obj[key];
}
}
Egentligen kan vi skriva om vår kod
annorlunda genom att använda
beräknad egenskap:
let obj = {
a: 1,
b: 2,
c: 3,
[Symbol.iterator]: function *(){
for (let key in this){
yield this[key];
}
}
};
Låt oss kontrollera iterationen:
for (let elem of obj) {
console.log(elem); // 1, 2, 3
}
Skriv om lösningen på problemet från föregående lektion med hjälp av en beräknad egenskap.