我理解|| b返回一个对象,而不是布尔值.我只是想不通为什么javascript会给出不同的结果
undefined || "" (result is "")
"" || undefined (result is undefined)
Run Code Online (Sandbox Code Playgroud)
我认为两者都应该返回"".有人可以向我解释一下吗?谢谢!
更新:@Quentin清楚地回答,""被评估为false,如果a和b都被评估为false,则|| b将返回b.
的||操作者测试表达式的左侧的感实性.如果LHS是真值,则返回LHS,否则返回RHS.
你可以看到这与if一个实际例子的结合:
if (a || b)
Run Code Online (Sandbox Code Playgroud)
a是真的,那么它是一样的if (a)这是if (true).a是假的并且b是真的,则if (b)是if (true)a并且b都是假的,那么它if (b)就是if (false)如果您的示例,既不是""也不undefined是真值,那么您的两个测试都将返回RHS.
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |