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
}
前のレッスンの課題の解決策を、 計算されたプロパティを使用して書き直してください。