nea*_*sic 3 javascript short-circuiting ecmascript-6 arrow-functions
我一直在搞乱在短路操作中使用逗号:
let component = { on: (p1, p2, p3) => console.log(p1, p2, p3) };
component.on('something', () => console.log('what do'), '???');
Run Code Online (Sandbox Code Playgroud)
'???'是否是参数似乎不明确
这有什么规则吗?
谢谢!
操作顺序似乎没有帮助,因为它没有描述参数
该规范定义了运算符的优先级,这就是您如何知道的。
\n\n\n \n\n\n\nRun Code Online (Sandbox Code Playgroud)\n\n \n\nExpression[In, Yield]:\n AssignmentExpression[?In, ?Yield]\n Expression[?In, ?Yield] , AssignmentExpression[?In, ?Yield]Run Code Online (Sandbox Code Playgroud)\nConciseBody[In]:\n [lookahead \xe2\x89\xa0 {]AssignmentExpression[?In]\n {FunctionBody}
箭头函数的简洁主体必须是一个AssignmentExpression,它不能直接包含逗号。但逗号运算符可以分隔不同的AssignmentExpression。
\n\n如果您想清楚自己在做什么,请添加括号:
\n\nExpression[In, Yield]:\n AssignmentExpression[?In, ?Yield]\n Expression[?In, ?Yield] , AssignmentExpression[?In, ?Yield]Run Code Online (Sandbox Code Playgroud)\r\n