在javascript中是否有'OrElse'等价物?

use*_*993 2 javascript

如果我在vb.net中有此行

If (a = Nothing OrElse a.value = Nothing) Then 
    DoSomething()
End If
Run Code Online (Sandbox Code Playgroud)

它相当于

if (a = nothing) Then 
    DoSomething()
else
    if (a.value = nothing) Then
        DoSomething()
    End If
End If
Run Code Online (Sandbox Code Playgroud)

因此,"OrElse"与"Or"的不同之处在于,只有在左侧应该返回false时才会评估右侧,在这种情况下,这是必要的,因为如果我要检查a.value而不是然后我会得到一个空引用异常.

在javascript中是否有等效的OrElse运算符?

Kei*_*las 5

这很有效.(它被称为短路)

if(!a || !a.value) { 
  doSomething()
}
Run Code Online (Sandbox Code Playgroud)

  • 小心,如果a.value是数字0,那将是真的(虽然字符串'0'很好) (2认同)