这里有一个空的对象分配的大括号对象是代码,JS函数声明:在参数声明
export function createConnect({
connectHOC = connectAdvanced,
mapStateToPropsFactories = defaultMapStateToPropsFactories,
mapDispatchToPropsFactories = defaultMapDispatchToPropsFactories,
mergePropsFactories = defaultMergePropsFactories,
selectorFactory = defaultSelectorFactory
} = {}) {...}
是什么{connectHOC = connectAdvanced ...} = {}指的是函数参数声明中?
我知道
= {}
可能意味着功能参数的默认值,但什么是对以前的括号中的代码使用?
我不能完全肯定的是,但是所述第一部分('{connectHOC = ......... = defaultSelectorFactory}')不是一个对象,它是与几个变量声明一个块。一个对象会使用冒号,而不是等号。 –
这是参数的默认值和解构的组合。让我们感到惊讶的是,我们似乎并没有在SO上同时覆盖这两个问题,无论是这次还是我的谷歌都在让我失望。 –
[This is close](http:// stackoverflow。com/questions/26578167/es6-object-destructuring-default-parameters),但不是很愚蠢。 [也是这个](http://stackoverflow.com/questions/34275971/how-to-destructure-option-argument-with-all-default-values-in-es6)。他们都解释了这里发生了什么,但从OP的角度来看,他们知道他们希望将缺省值分配给解构参数,而不是“这是什么语法”方法。 –