JavaScript yield* expression
The yield* expression in JavaScript is used when one wants to delegate some other iterable object. This function iterate 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:
HTML
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>JavaScript yield* expression</title></head><body> <script> function* func1() { yield "a"; yield "b"; yield* func3(); } function* func3() { yield "geeks"; } 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></body></html> |
Output:
Example 2: Using other iterable objects with yield* in JavaScript.
HTML
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>JavaScript yield* expression</title></head><body> <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></body></html> |
Output:
Supported Browsers:
- Chrome
- Edge
- Firefox
- Opera
- Safari


