Javascript 寻找一种简写的JS方法来评估多个对象/对象状态的存在并设置为bool

Javascript 寻找一种简写的JS方法来评估多个对象/对象状态的存在并设置为bool,javascript,if-statement,Javascript,If Statement,因此,我需要根据多个对象的存在和状态设置很多状态: 目前,我只是在做一个经典的if语句,然后检查未定义的 let show_x = false; if (some_object_presence !== 'undefined' || some_other_object_presence !== 'undefined' || some.other.object_presence !== 'undefined' ) { show_x = true; } ... 这似乎是一个很长的路要走。

因此,我需要根据多个对象的存在和状态设置很多状态:

目前,我只是在做一个经典的if语句,然后检查未定义的

let show_x = false;

if (some_object_presence !== 'undefined' || some_other_object_presence !== 'undefined' || some.other.object_presence !== 'undefined' ) {
    show_x = true;
}
...
这似乎是一个很长的路要走。有没有一个速记版本可以这样设置:

let show_y = some_object_presence || some_other_object_presence || some.other.object_presence;
我需要show_y的状态为布尔值。我确实考虑过为我正在寻找的每个对象状态创建中间测试,但这可能会使它再次变得复杂

let some_object_presence = object_qwe ? true : false;
let some_other_object_presence = object_asd ? true : false;
let some_third_object_presence = object_zxc ? true : false;

let show_z = some_object_presence || some_other_object_presence || some_third_object_presence;

任何想法都会有帮助

您可以将其转换为布尔值,并使用双重否定。 如果定义了任何对象,则认为该对象为true,因此可以将show_z作为对象

let show_z = !!(some_object_presence || some_other_object_presence || some_third_object_presence);
不完全正确,但简而言之,您可以考虑:
空字符串
、0
0
、空数组
[]
和未定义变量
var x
为false。其他一切都可以认为是正确的。

您的
“未定义”
是一个字符串。是否确实要检查字符串值?请添加一些可能的变量内容。很抱歉,这是我快速键入的示例,但捕捉得很好!:)变量都是对象,尽管可能有检查数组长度的范围,也可能有其他布尔值。。。但现在只是物体!我不知道你能做到!非常有趣!