一尘不染

JavaScript 返回对象的ECMAScript 6箭头函数

javascript

从箭头函数返回对象时,由于语法上的歧义,似乎有必要使用额外的{}return关键字集。

那意味着我不会写p => {foo: "bar"},但必须写p => { return {foo: "bar"}; }

如果arrow函数返回的不是对象,则{}return都是不必要的,例如:p => "foo"

p => {foo: "bar"}返回undefined

修饰符p => {"foo": "bar"}抛出 SyntaxError::意外标记::‘”

有什么明显的我想念的吗?


阅读 646

收藏
2020-04-23

共1个答案

一尘不染

您必须将返回的对象文字包装在括号中。否则,花括号将被视为表示功能的主体。以下作品:

p => ({ foo: 'bar' });

您不需要将任何其他表达式包装到括号中:

p => 10;
p => 'foo';
p => true;
p => [1,2,3];
p => null;
p => /^foo$/;

等等。

2020-04-23