title: Please Explain this ECMASCRIPT code and syntax
body: <p>Can anyone explain me this code. Also explain this syntax <code>${name}</code> (I've already google it, but got nothing much).</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>function* ask() { 
     const name = yield "What is your name?"; 
     const sport = yield "What is your favorite sport?"; 
     return `${name}'s favorite sport is ${sport}`; 
  }  
  const it = ask(); 
  console.log(it.next()); 
  console.log(it.next('Ethan'));  
  console.log(it.next('Cricket')); </code></pre>
  </div>
  </div>
  </p>