Thursday, September 4, 2025
HomeLanguagesJavascriptWhat’s the yield keyword in JavaScript?

What’s the yield keyword in JavaScript?

yield keyword is used to resume or pause a generator function asynchronously. A generator function is just like a normal function but the difference is that whenever the function is returning any value, it does it with the help of ‘yield’ keyword instead of return it. Yield can’t be called from nested functions or from callbacks.

The yield expression returns an object with two properties, “value” which is the actual value and “done” which is a boolean value, it returns true when generator function is full completed else it returns false.

If we pause the yield expression, the generator function will also get paused and resumes only when we call the next() method. When the next() method is encountered the function keeps on working until it faces another yield or returns expression.

Example 1:




function* showPrices(i) {
    while (i < 3) {
        yield i++;
    }
}
  
//creating an object for our function showPrices
const gfg = showPrices(0); 
  
//return 0 because 0 value is passed to the showPrices yield expression
console.log(gfg.next().value); 
  
// return 1
console.log(gfg.next().value); 
  
//return 2
console.log(gfg.next().value); 


Output:

Example 2:




function* neveropenforGeeks() {
  
  /*expression paused here and return
  value is undefined as nothing is declared*/
    yield; 
    
    //wait for next() to finish
    gfg(yield "Welcome to GFG"); 
}
  
function gfg(x) {
    console.log("Hello World ", x)
}
  
var generator = neveropenforGeeks();
  
//return undefined
console.log(generator.next()); 
  
//return Welcome to GFG 
console.log(generator.next()); 
  
/*done remains false as we have not called next 
so that "Hello World" is still left there to process*/


Output:

RELATED ARTICLES

Most Popular

Dominic
32261 POSTS0 COMMENTS
Milvus
81 POSTS0 COMMENTS
Nango Kala
6626 POSTS0 COMMENTS
Nicole Veronica
11795 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11855 POSTS0 COMMENTS
Shaida Kate Naidoo
6747 POSTS0 COMMENTS
Ted Musemwa
7023 POSTS0 COMMENTS
Thapelo Manthata
6695 POSTS0 COMMENTS
Umr Jansen
6714 POSTS0 COMMENTS