5
私のような行がある場合:yieldは* whileループと同等ですが、javascriptではプレーン・イールドですか?
yield* foo()
を私はの曲に何かでそれを置き換えることができます:
while(true) {
var x = foo.next();
if(x.done)
break;
yield x;
}
明らかにそれはより冗長ですが、私は降伏*があれば理解しようとしています単に構文的な砂糖、またはいくつかの意味的側面があるかどうかは不明です。
いや、それはかなりいるのです。簡単です: 'for(var x of foo()){yield x; } '。仕様:http://www.ecma-international.org/ecma-262/7.0/#sec-generator-function-definitions-runtime-semantics-evaluation。 * edit:*イテレータを取得するには、最初に* foo()を呼び出す必要があります。 –
_ "他のジェネレータまたはiterableオブジェクトに委譲するために' yield * '式が使われています。" _ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/yield* – guest271314
ありがとう、@FelixKling。私はセミコロンのがんを発症していると感じています。 –