ECMAScript SPEC中的[Yield, Await, In, Return]表达的是什么
StatementList[Return]:
ReturnStatement
ExpressionStatement
是下面的缩写
StatementList:
ReturnStatement
ExpressionStatement
StatementList_Return:
ReturnStatement
ExpressionStatement
但是并不知道,后面加一个_Return具体表达了一个什么意思
哪位大神指导一下,困惑好几天了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
就是把两条语法写一起了啊。表示啥意思要看它用在了什么地方。这给得找真语法看了。必然两个会有所不同(通常是用在了不同的地方),才会分成两个的。这里只是个示例,并不是真语法,没法解释区别。
另外标准里也写了,由于这种简写,可能很生成一些根本用不到的语法,忽略就好了。
比如说,FunctionBody 是带 [Yield, Await]的,一共有四个版本。
FunctionExpression 用了 FunctionBody
GeneratorBody 用了 FunctionBody_Yield
AsyncGeneratorBody 用了 FunctionBody_Yield_Await
AsyncFunctionBody 用了 FunctionBody_Await
从上面来看,没后缀的版本用于普通函数, _Yield 版本用于 Generator, _Yield_Await 版本用于 Async Generator ,_Await 版本用于 async 函数。
另外,标准里的一些 note 解释了一些参数的作用。比如_In