防止在 if 语句中出现错误“未定义”

6 javascript arrays undefined node.js

我的问题是关于更有效地防止“变量未定义”错误。

例如

如果我使用以下代码:

if (array[index] != undefined)
{
  if (array[index].id == 1)
  {
    // code 
  }
}
Run Code Online (Sandbox Code Playgroud)

它会正常工作。但是,我可以使用

if (array[index] != undefined && array[index].id == 1)
{
 // code
}
Run Code Online (Sandbox Code Playgroud)

没有收到“变量未定义”错误,如果array未定义?

(我现在不能在我的代码中完全测试这个,因为我正在构建一个客户端 - 服务器应用程序,我必须改变很多行才能尝试它,所以我在这里问。对不起,如果不合适)

Ray*_*yon 5

&& 仅当 (a && bab是truthy值。

如果第一个操作数(expression)被评估为falseexpression则根本不评估第二个操作数(),因为结果总是false

  • 有关更多信息,您可以阅读 [关于 JavaScript 逻辑运算符的 MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators)。特别是标题为“短路评估”的部分 (3认同)