在一行中嵌套if语句

时间:2015-12-03 09:25:43

标签: javascript if-statement

if(something.food == true){
  if(something.food.fruit == 'apple' ||  something.food.fruit == 'mango'){
//do something
}
}

这很明显,食物必须在以后查看它的子对象,但如何在一行中写出来?我的意思是单身if。<​​/ p>

2 个答案:

答案 0 :(得分:1)

全部

if(something.food && (something.food.fruit == 'apple' ||  something.food.fruit == 'mango')) {

    //do something

}

作为评论中的请愿书,我将解释一下。

首先我们检查something.food没有== true,因为我们需要检查它是否存在。然后将其余代码包装成括号,表达式将运行正常

答案 1 :(得分:1)

如果something.foodtrue,那么它也不能是包含字段的对象。虽然您当前的检查确实检查了"truthy"值,但它看起来很奇怪(感谢您指出T. J. Crowder)。相反,你应该忽略== true部分。

结果检查是:

if (something.food && (something.food.fruit == 'apple' || something.food.fruit == 'mango') {
        //do something
}