私はES2015のジェネレータを理解しようとしており、それを使って再帰的階乗関数を作成しました。しかし、それは動作しません。私はトピックの上にthisのような既存の質問を参照しましたが、それは助けになりません。ES2015で再帰的ジェネレータ関数が機能しないのはなぜですか?
function* fact (n) {
if (n < 2) {
yield 1;
} else {
yield* (n * fact(n-1));
}
}
let b = fact(5);
console.log(b.next());
私はここで紛失している問題を見つけ出すことができますか?私はJavaScript-1.7でJSFiddleでこれを使用していますhere
なぜ収量* 1を??? –
私はそれが間違っていると思う。私にそれを更新させてください –
あなたは何も返していません。あなたはこれが再帰呼び出しであると言っています。 –