ESLint抱怨箭头函数返回对象

时间:2018-12-11 11:54:01

标签: eslint

为什么ESLint拒绝这样做?

let myFunc = (state) => {a:"b"};

这是说它期望一个函数或赋值调用。

2 个答案:

答案 0 :(得分:2)

在ES6箭头功能中

如果使用大括号{},则应返回return语句。

let myFunc = (state) => {
  return { a:"b"}
}

如果使用不使用花括号,则应使用圆括号()将返回对象括起来。

let myFunc = (state) => ({ a:"b"})

答案 1 :(得分:1)

以这种方式返回对象文字的箭头函数在语法上是模棱两可的,因为它也可能是其中带有标签a的JavaScript块。您需要在原义周围加上括号以使其清楚:

let myFunc = (state) => ({a:"b"});