1.箭头函数返回对象字面量
用 params => {object:literal}
这种简单的语法返回对象字面量是行不通的。
var func = () => { foo: 1 }; // 调用 func() 返回 undefined! var func = () => { foo: function() {} }; // SyntaxError: function statement requires a name
这是因为花括号({}
)里面的代码被解析为一系列语句(即 foo
被认为是一个标签,而非对象字面量的组成部分)。
所以,记得用圆括号把对象字面量包起来:
var func = () => ({foo: 1});
2.备注
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions