Насколько я понимаю, существует два вида тела функции стрелки: сжатый и подробный.
()=>1 // Concise
()=>{} // Not concise?
Краткий не содержит фигурных скобок и представляет собой AssignmentExpression
, а подробный предположительно предположительно блок, но я не уверен.
14.2 из spe c определяет грамматику функций со стрелками, но, похоже, в скобках содержится определение краткого тела.
1. ConciseBody[In]:
2. [lookahead ≠ {]ExpressionBody[?In, ~Await]
3. {FunctionBody[~Yield, ~Await]}
Куда я иду не так? Где "подробная" грамматика тела, определенная в spe c?