选择题1539/1603如何能打印出 console.log 语句后注释掉的值?

1function* startGame() { 2 const answer = yield "Do you love JavaScript?"; 3 if (answer !== "Yes") { 4 return "Oh wow... Guess we're gone here"; 5 } 6 return "JavaScript loves you back ❤️"; 7} 8 9const game = startGame(); 10console.log(/* 1 */); // Do you love JavaScript? 11console.log(/* 2 */); // JavaScript loves you back ❤️
难度:
2021-07-02 创建

本题为"单选题"

参考答案:

正确选项:C:game.next().value and game.next("Yes").value

generator函数在遇到yield关键字时会“暂停”其执行。 首先,我们需要让函数产生字符串Do you love JavaScript?,这可以通过调用game.next().value来完成。上述函数的第一行就有一个yield关键字,那么运行立即停止了,yield表达式本身没有返回值,或者说总是返回undefined, 这意味着此时变量 答案undefined next方法可以带一个参数,该参数会被当作上一个 yield 表达式的返回值。当我们调用game.next("Yes").value时,先前的 yield 的返回值将被替换为传递给next()函数的参数"Yes"。此时变量 答案 被赋值为 "Yes"if语句返回false,所以JavaScript loves you back ❤️被打印。

最近更新时间:2024-08-03

赞赏支持

题库维护不易,您的支持就是我们最大的动力!