ES6速记对象密钥检查

ben*_*e89 12 javascript ecmascript-6 babeljs

很想知道ES6中是否有任何部分可以使这些检查更加简洁:

componentWillReceiveProps(nextProps) {
    if(nextProps && nextProps.filterObj && nextProps.filterObj.area){
        // go ahead
    }
}
Run Code Online (Sandbox Code Playgroud)

Ber*_*rgi 12

不,没有存在主义的运营商进入ES6; 然而,它仍然在讨论.

当然,您可以使用任何现有方法

if ( ((nextProps||{}).filterObj||{}).area ) {
    // go ahead
}
Run Code Online (Sandbox Code Playgroud)

您也可以尝试解构和默认值:

function componentWillReceiveProps({filterObj: {area} = {}} = {}) {
    if (area) {
        // go ahead
    }
}
Run Code Online (Sandbox Code Playgroud)