<p><strong>Ответ: <code>['a', 'b', 'c']</code> и <code>a</code>.</strong></p>
<p dir="auto">Используя ключевое слово <code>yield</code>, мы получаем значения в функции генератора. С помощью ключевого слова <code>yield*</code> мы можем получить значения из другой функции-генератора или итерируемого объекта (например, массива).</p>
<p dir="auto">В <code>generatorOne</code> мы получаем весь массив <code>['a', 'b', 'c']</code>, используя ключевое слово <code>yield</code>. Значение свойства <code>value</code> для объекта, возвращаемого методом <code>next</code> для <code>one</code> (<code>one.next().value</code>), равно всему массиву <code>['a', 'b', 'c']</code>.</p>
<pre class="language-javascript"><code>console.log(one.next().value) // ['a', 'b', 'c']
console.log(one.next().value) // undefined</code></pre>
<p dir="auto">В файле <code>generatorTwo</code> мы используем ключевое слово <code>yield*</code>. Это означает, что первое полученное значение <code>two</code> равно первому полученному значению в итераторе. Итератор - это массив <code>['a', 'b', 'c']</code>. Первым полученным значением является <code>a</code>, поэтому в первый раз, когда мы вызываем <code>two.next().value</code>, возвращается <code>a</code>.</p>
<pre class="language-javascript"><code>console.log(two.next().value) // 'a'
console.log(two.next().value) // 'b'
console.log(two.next().value) // 'c'
console.log(two.next().value) // undefined</code></pre>
<p><strong>Ответ: <code>['a', 'b', 'c']</code> и <code>a</code>.</strong></p>
<p dir="auto">Используя ключевое слово <code>yield</code>, мы получаем значения в функции генератора. С помощью ключевого слова <code>yield*</code> мы можем получить значения из другой функции-генератора или итерируемого объекта (например, массива).</p>
<p dir="auto">В <code>generatorOne</code> мы получаем весь массив <code>['a', 'b', 'c']</code>, используя ключевое слово <code>yield</code>. Значение свойства <code>value</code> для объекта, возвращаемого методом <code>next</code> для <code>one</code> (<code>one.next().value</code>), равно всему массиву <code>['a', 'b', 'c']</code>.</p>
<pre class="language-javascript"><code>console.log(one.next().value) // ['a', 'b', 'c']
console.log(one.next().value) // undefined</code></pre>
<p dir="auto">В файле <code>generatorTwo</code> мы используем ключевое слово <code>yield*</code>. Это означает, что первое полученное значение <code>two</code> равно первому полученному значению в итераторе. Итератор - это массив <code>['a', 'b', 'c']</code>. Первым полученным значением является <code>a</code>, поэтому в первый раз, когда мы вызываем <code>two.next().value</code>, возвращается <code>a</code>.</p>
<pre class="language-javascript"><code>console.log(two.next().value) // 'a'
console.log(two.next().value) // 'b'
console.log(two.next().value) // 'c'
console.log(two.next().value) // undefined</code></pre>
Ниже представлено пояснение.
Ответ: ['a', 'b', 'c'] и a.
Используя ключевое слово yield, мы получаем значения в функции генератора. С помощью ключевого слова yield* мы можем получить значения из другой функции-генератора или итерируемого объекта (например, массива).
В generatorOne мы получаем весь массив ['a', 'b', 'c'], используя ключевое слово yield. Значение свойства value для объекта, возвращаемого методом next для one (one.next().value), равно всему массиву ['a', 'b', 'c'].
console.log(one.next().value) // ['a', 'b', 'c']
console.log(one.next().value) // undefined
В файле generatorTwo мы используем ключевое слово yield*. Это означает, что первое полученное значение two равно первому полученному значению в итераторе. Итератор - это массив ['a', 'b', 'c']. Первым полученным значением является a, поэтому в первый раз, когда мы вызываем two.next().value, возвращается a.
console.log(two.next().value) // 'a'
console.log(two.next().value) // 'b'
console.log(two.next().value) // 'c'
console.log(two.next().value) // undefined