The yield* expression in JavaScript is used when one wants to delegate some other iterable object. This function iterates over the particular operand and yields each value that is returned by it.
Syntax:
yield* expression;
Return Value: It returns the iterable object.
Example 1: In this example, we will see the basic use of the Javascript yield* expression.
Javascript
<script> function * func1() { yield "a" ; yield "b" ; yield* func3(); } function * func3() { yield "neveropen" ; } function * func2() { yield* func1(); yield 4/2; yield 5/2; } const it = func2(); console.log(it.next()); console.log(it.next()); console.log(it.next()); console.log(it.next()); console.log(it.next()); console.log(it.next()); </script> |
Output:
{value: 'a', done: false} {value: 'b', done: false} {value: 'neveropen', done: false} {value: 2, done: false} {value: 2.5, done: false} {value: undefined, done: true}
Example 2: Using other iterable objects with yield* in JavaScript.
Javascript
<script> function * func1() { yield* func3(1, 2, 3, 4); } function * func3(){ yield * Array.from(arguments); } function * func2(){ yield* func1(); yield* [ "from array" , "from array" ]; } const it = func2(); console.log(it.next()); console.log(it.next()); console.log(it.next()); console.log(it.next()); console.log(it.next()); console.log(it.next()); </script> |
Output:
{value: 1, done: false} {value: 2, done: false} {value: 3, done: false} {value: 4, done: false} {value: 'from array', done: false} {value: 'from array', done: false}
JavaScript is best known for web page development but it is also used in a variety of non-browser environments. You can learn JavaScript from the ground up by following this JavaScript Tutorial and JavaScript Examples.
Supported Browsers:
- Chrome 39 and above
- Edge 12 and above
- Firefox 27 and above
- Opera 26 and above
- Safari 10 and above