请解释这个ECMASCRIPT代码和语法

时间:2018-05-19 04:53:58

标签: javascript ecmascript-6

任何人都可以解释这个代码。还解释了这种语法${name}(我已经谷歌了,但没有得到什么)。

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')); 

1 个答案:

答案 0 :(得分:1)

  1. 您声明的功能是生成器。您可以在此处找到有关生成器的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function%2A
  2. ${name}这是一种向字符串添加变量值的方法。这称为文字。您可以在此处找到有关文字的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
  3. 如果你仍然感到困惑,请告诉我。