如何处理 JavaScript 条件语句中的可为空的对象

How do I deal with nullable objects in JavaScript conditional statements

本文关键字:对象 语句 条件 何处理 处理 JavaScript      更新时间:2023-09-26

我有一个变量,可以设置为false或对象x.y.z

我想做这样的事情:

if (var1) {
  if (var1.x.y.z === 1) {
    // do stuff
  }
} else {
  // do something if var1 OR var1.x.y.z === 1 is false
}

我在设置此条件语句时遇到问题,而不必复制外部 if 语句和内部 if 语句的 else 代码。

尝试使用!,这会评估变量是真实的还是虚假的。 基本上,如果 var1 不是假的,那么就是真的。 如果 var1 不是字面上的错误,那么"做事"。

已编辑.. 您可以添加第二个内联测试。

if (!!var1 && var1.x.y.z === 1) {
    // do stuff
} else {
   // do other stuff
}