什么(state = {})=>国家意味着

时间:2016-02-20 17:17:27

标签: javascript ecmascript-6

我正在建立一个应用程序,我在其中一个锅炉板项目中找到了一条线。

(state = {}) => state

任何人都可以向我解释上述内容的含义吗? 这是 javascript ES6标准。

3 个答案:

答案 0 :(得分:7)

它是一个(n箭头)函数,返回其输入。如果未定义输入,则它将成为默认值{}。

您可能已经将它与使用redux'“connect”结合使用,作为将商店状态映射到用于连接组件的投影的函数。如果没有可用的状态,则将提供空对象。

答案 1 :(得分:7)

如果没有提供输入,那是arrow functiondefault parameter返回其输入或空对象。它与es-5函数类似:

function(){
    var state = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
    return state;
}

答案 2 :(得分:3)

您可能更熟悉这种表示法:

function(state) {
    if (!state) state = {}; // state defaults to {}
    return state;
}

你看到的是ES6语法糖:function(state = {}) { ... }是默认值的简写符号(state默认为{}),而(a) => bfunction(a) { return b }的简写符号{1}}。如果将它们组合在一起,则会得到(state = {}) => state