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

标签 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);

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

最佳答案

答案在问题的评论中。必须再次将它们复制出来,这样我才能将问题标记为已回答并关闭它。

“不确定第一个发生了什么。对于第二个,connect() 是一个返回函数的函数,因此第二个 () 是立即调用返回的函数。” – 衔尾蛇

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

还有一个指向 Computed property names 的链接让它更清楚——Denys Séguret

谢谢大家。

关于Javascript 语法 []() 和 ()(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41399719/

相关文章:

javascript - JQuery/Javascript 选择器使用 toggle() 或 add/removeClass() 遍历元素数组

javascript - 带条件重新分配的 ESLint 首选常量错误

reactjs - React 组件中的 const 或 let

javascript - 如果我们访问范围外的变量,则变量未定义

node.js - 如何获取React和ReactDOM的ES6模块?

javascript - 如何设置下拉列表中可观察的值?

javascript - Rails 4 - 计时器 (jQuery.Countdown)

javascript - 使用下拉列表中的参数从 View 调用 Web API

javascript - 如何在 React 中呈现多个元素的列表?

javascript - jQuery设置数据滑动并使用ajax自动刷新