これは、このソースコードである:iterator.next().value
の最初の呼び出しがオブジェクトを呼び出す上に生成されていない[Symbol.iterator]()
{"value":"James","key":"name","done":false}
を印刷するようになっている
const james = {
name: 'James',
height: `5'10"`,
weight: 185,
[Symbol.iterator]:function*(){
yield Object.keys(this) ;
}
};
const iterator = james[Symbol.iterator]();
//
console.log(iterator.next().value); // 'James'
console.log(iterator.next().value); // `5'10`
console.log(iterator.next().value); // 185
それが印刷され。これを解決するには?
反復結果の「キー」はどこから来るのですか? 'Object.keys'は' ["name"、 "height"、 "weight"] 'という配列を生成します。 – Bergi