javascript - 为什么 yield 被归类为运算符而不是语句?

标签 javascript syntax yield

我在看 mdn javascript reference并注意到 yield列在运营商部分。另一方面return被列为声明。我还找到了yield有一个 operator precedence 2。
yield有什么特点让它落入运算符类而不是语句?为什么return属于语句而不是运算符?

最佳答案

它是一个运算符,因为它可以在表达式中使用。

function* g() {
    value = 3;
    while (value !== 5) value = Math.floor(yield value + 1);
}

var gen = g();

console.log(gen.next().value);
console.log(gen.next(1.5).value);

关于javascript - 为什么 yield 被归类为运算符而不是语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61428510/

相关文章:

javascript - 是否可以通过 Javascript 终止 SharePoint 工作流?

syntax - 嵌套查询中包含 AS 和 ORDER BY 的 SQL 语法

python - 在 Python 生成器中使用 for...else

javascript - 如何访问我的新 Symfony API

javascript - 智利的 Node JS 当前 DST 规则

javascript - 如何在发送 angularj http 请求时显示加载消息

java - 为什么这个语法在 Java 中有效?

bash - 为什么 Bash 中 '[' 和 ']' 周围要有空格?

python - 在Python中初始化静态变量

python - Tornado的 "yield"和asyncio的 "yield from"在机制上的区别?