更简洁'&&'运算符javascript

时间:2017-12-07 11:13:02

标签: javascript

我的项目充斥着类似的事情:

if(selectedDestination.modeOfTransport && selectedDestination.modeOfTransport.value === 'Driving'"){ 
  // Do something
}

理想情况下,我想要:

if(selectedDestination.modeOfTransport.value === 'Driving'")

如果没有' modeOfTransport'那就让它为假。属性。

1 个答案:

答案 0 :(得分:3)

这样的事情应该适合:

selectedDestination.modeOfTransport?.value === 'Driving'

如果您正在使用babel,则可以查看:Nullish Coalescing for JavaScript

var mode = selectedDestination.modeOfTransport;
if (mode && mode.value === 'Driving') { 
    // Do something
}
蒂姆的编辑:这是另一种选择:

这是JavaScript中的常见问题。一个警察答案可能是定义一个引用你想要避免的冗长表达式的变量:

customlibrary