if(something.food == true){
if(something.food.fruit == 'apple' || something.food.fruit == 'mango'){
//do something
}
}
这很明显,食物必须在以后查看它的子对象,但如何在一行中写出来?我的意思是单身if。</ p>
答案 0 :(得分:1)
全部
if(something.food && (something.food.fruit == 'apple' || something.food.fruit == 'mango')) {
//do something
}
作为评论中的请愿书,我将解释一下。
首先我们检查something.food
没有== true
,因为我们需要检查它是否存在。然后将其余代码包装成括号,表达式将运行正常
答案 1 :(得分:1)
如果something.food
为true
,那么它也不能是包含字段的对象。虽然您当前的检查确实检查了"truthy"值,但它看起来很奇怪(感谢您指出T. J. Crowder)。相反,你应该忽略== true
部分。
结果检查是:
if (something.food && (something.food.fruit == 'apple' || something.food.fruit == 'mango') {
//do something
}