javascript - ES6 箭头函数的 return 语句中的括号有什么作用?

标签 javascript ecmascript-6 arrow-functions

例如,在 redux 操作中,我在某人的代码中看到:

export const updateMessage = text => {
   return (dispatch) => {
     dispatch(updateChatMessage(text))
   }
}

和:

const updateChatMessage = text => ({
   type: types.someActionType,
   text
})

它的功能似乎是暗示返回,但我认为这已经隐含在粗箭头后面的箭头函数括号中。

括号({...})有什么作用?有必要吗?有没有其他方法可以完成同样的事情?

最佳答案

当你写myFunction = value => ({prop: value}) 它返回对象 {prop: value},在本例中 {} 是对象分隔符,而不是“函数分隔符”

const updateChatMessage = text => ({
   type: types.someActionType,
   text
})

另一个例如:

当你想将数组的每个元素乘以 2 时,你可以这样写:

array.map(elem => {return elem * 2})

array.map(elem => elem * 2)//相同的结果

如果你想要一个带有()的eg来包装一个对象垃圾:

let array = [{val: 2},
             {val: 4},
             {val: 8},
             {val: 16}];
             
let output = array.map( ({val}) => ({val: val*2}) );

console.log(output);

关于javascript - ES6 箭头函数的 return 语句中的括号有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58333992/

相关文章:

javascript - 如何防止停止滚动悬停 iFrame(完美滚动条)?

javascript - React Native redux saga 类型错误

javascript - 什么时候应该让一个函数返回一个 promise ?

javascript - React/es6 exports createClass 和 extends Component 的区别

javascript - 为什么箭头函数的 'this' 在嵌套对象字面量中没有变化?

javascript - React.js 和箭头函数与普通函数

javascript - 如何在函数外获取数组?

javascript - 如何包含特定于每个 View 的javascript文件angularjs

javascript - Array.of() 和 Array.from() 的奇怪用法?

javascript - “箭头功能”和“功能”是否等效/可互换?