javascript - 返回对象的 ECMAScript 6 箭头函数

标签 javascript ecmascript-6 arrow-functions

当从箭头函数返回一个对象时,似乎有必要使用一组额外的 {} 和一个 return 关键字,因为语法。

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

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

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

修改后的 p => {"foo": "bar"} 抛出 SyntaxError: unexpected token: ': '”.

我有什么明显的遗漏吗?

最佳答案

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

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

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

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

等等。

引用:MDN - Returning object literals

关于javascript - 返回对象的 ECMAScript 6 箭头函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28770415/

相关文章:

javascript - 如何去掉子元素的点击事件?

javascript - 从嵌套对象的数组中删除元素?

javascript - 在异步回调函数生成的错误上使用 try catch

javascript - 如何在浏览器中显示EMF (MS Enhanced Meta File) 图像?

asp.net - 从 ASP.NET 用户控件引发 javascript 事件并在 ASP.NET 页面中处理

syntax - 如何在 CoffeeScript fat-arrow 回调中引用实际的 'this' ?

javascript - 箭头函数返回参数作为对象的属性

javascript - VueJS : Issue with using this keyword in arrow function

javascript - 如何使用 Node.js 将 blob base64 字符串上传到谷歌云存储

javascript - es6 类将 this 传递给静态类函数