Skip to content
Related Articles

Related Articles

JavaScript yield* expression

View Discussion
Improve Article
Save Article
  • Last Updated : 08 Oct, 2021
View Discussion
Improve Article
Save Article

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 39 and above
  • Edge 12 and above
  • Firefox 27 and above
  • Opera 26 and above
  • Safari 10 and above

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!