JavaScript-ում հաշվարկվող հատկության միջոցով գեներատոր
Նախորդ դասում մենք օբյեկտի գեներատորը նշանակում էինք առանձին հրամանով: Մեր օբյեկտը այսպիսին էր:
let obj = {
a: 1,
b: 2,
c: 3,
};
Ահա այսպես մենք սահմանեցինք գեներատորը.
obj[Symbol.iterator] = function *() {
for (let key in this) {
yield obj[key];
}
}
Իրականում, մենք կարող ենք վերագրել մեր կոդը
այլ կերպ՝ օգտագործելով
հաշվարկվող հատկություն.
let obj = {
a: 1,
b: 2,
c: 3,
[Symbol.iterator]: function *(){
for (let key in this){
yield this[key];
}
}
};
Եկեք ստուգենք իտերացիան.
for (let elem of obj) {
console.log(elem); // 1, 2, 3
}
Վերագրեք նախորդ դասի խնդրի լուծումը՝ օգտագործելով հաշվարկվող հատկություն: