JavaScriptのジェネレータ

独自のイテレータを作成するための特別な関数があります。 そのような関数はジェネレータと呼ばれます。 そのような関数の名前はアスタリスクから始める必要があります:

javascriptfunction *func() {
  
}

ジェネレータ内では、イテレータが次に呼び出された際に返すべきものを示すキーワード yieldが使用されます。 例として、最初の呼び出しで1を返し、2回目で2、 3回目で3を返すようにしてみましょう:

javascriptfunction *func() {
  yield 1;
  yield 2;
  yield 3;
}

ジェネレータはその結果としてイテレータを返します:

javascriptlet iter = func();

作成したイテレータの動作を確認してみましょう:

javascriptconsole.log(iter.next()); // {value: 1, done: false}
console.log(iter.next()); // {value: 2, done: false}
console.log(iter.next()); // {value: 3, done: false}
console.log(iter.next()); // {value: undefined, done: true}
Задание 1

5から1までの数字を返すイテレータを作成してください。