javascript - ||将空字符串转换为 bool,&& 不是

标签 javascript firebug

这正常吗?它是功能还是错误? (我正在使用 Firebug ):

>>> '' || true
true
>>> '' || false
false
>>> '' && false
""
>>> '' && true
""

最佳答案

将空字符串转换为Boolean

使用||

它正在评估左侧,其中一个空字符串是falsy。然后它会检查右侧(因为它是一个,而该侧可能为真),并返回该值。

使用&&

因为 && 需要两边都是 true 而左边是 falsy,所以它不会检查右边(short circuit evaluation)。因此,它只返回左侧,即空字符串。

JavaScript 总是返回它评估的最后一个值。

>>> '' || 0 || undefined || null || false || NaN || 'hello'
"hello"

关于javascript - ||将空字符串转换为 bool,&& 不是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8383200/

相关文章:

javascript - 向下滚动时,粘性导航栏下拉菜单在 Safari 上不起作用

javascript - Jquery Mobile 在 Chrome 中不工作

javascript - 在弹出窗口中使用延迟加载

javascript - 在 Socket.IO 中, "io"cookie 有什么用?

javascript - 如果没有头像,则从 json 中检查性别并放入 img 标签中

javascript - Firefox/Firebug 上像素的小数部分

jquery - 如何通过 JavaScript 检查 Firebug 中的元素?

internet-explorer-7 - IE7的 Firebug

javascript - HTML5 - 开始使用离线存储

firefox - 为什么自 Firefox 51.0.1 起 FirePath 不再工作了?