Javascript语法[]()和()()

时间:2016-12-30 16:50:54

标签: javascript ecmascript-6

我无法理解这些javascript语法。在下面的代码块中,在第二行。方括号后面紧跟一个圆括号或括号,我怀疑它是用于获取参数。我不明白这两个人是如何被联系起来形成一个表达方式及其含义。

 export const recipeCount = createReducer(0, {
      [types.ADD_RECIPE](state, action){
        return state + 1;
      }
    });

同样在这一行上,connect方法接受两个参数(state) => {return {}}mapDispatchToProps。然后很快就会被()带有一个参数。起初,虽然它是java中的一些对象转换,但这没有意义。

export default connect((state) => {return {}}, mapDispatchToProps)(AppContainer);

代码执行正常并产生预期结果。我只是不明白发生了什么。请帮助,很高兴获得答案,并附上我可以阅读的页面的链接,以便更好地理解。感谢。

1 个答案:

答案 0 :(得分:2)

答案在问题的评论中。不得不再次将它们复制出来,所以我可以将问题标记为已回答并关闭它。

“不确定第一个是怎么回事。对于第二个,connect()是一个返回函数的函数,所以第二个()是立即调用返回的函数。” - Ouroborus

“第一个是动态对象文字属性,也是一个对象方法。我发现这根本不可读。我会重写那个。 - Davin Tryon”

以及Computed property names的链接,以便更清楚地了解 - DenysSéguret

谢谢你们。