這裏有一個空的對象分配的大括號對象是代碼,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的角度來看,他們知道他們希望將缺省值分配給解構參數,而不是「這是什麼語法」方法。 –