据我了解,箭头功能主体有两种:简洁和详细。
()=>1 // Concise
()=>{} // Not concise?
简明没有大括号,是AssignmentExpression
,冗长的单词可能是一个障碍,但我不确定。
[AssignmentExpression
定义了箭头功能的语法,但是在简洁的主体的定义中似乎包括了花括号。
14.2 of the spec
我要去哪里错了?规范中定义的“详细”正文语法在哪里?
根据规范术语,每个1. ConciseBody[In]:
2. [lookahead ≠ {]ExpressionBody[?In, ~Await]
3. {FunctionBody[~Yield, ~Await]}
都有一个ArrowFunction
,然后将它们区分为短的ConsiseBody
和普通的大括号包裹的ExpressionBody
。
似乎在ConciseBody下指定了两个选项:一个ExpressionBody(不带括号)OR一个用括号括起来的FunctionBody。
[规格说明的格式在“语法符号”,FunctionBody
下进行了解释