Javascript:奇怪的行为“空字符串”和“假”返回空字符串

卡马拉坎南

今天,我遇到了Java语言中的奇怪行为。下面是代码

return "" && false

返回“”。

为什么会这样呢?

卑鄙

因为

产生LogicalANDExpression:LogicalANDExpression && BitwiseORExpression的评估如下:

  1. 令lref为评估LogicalANDExpression的结果。
  2. 令lval为GetValue(lref)。
  3. 如果ToBoolean(lval)为false,则返回lval。
  4. 令rref为评估BitwiseORExpression的结果。
  5. 返回GetValue(rref)。

ECMAScript 5.1

这意味着:

如果第一个值是虚假的,则返回第一个值;如果第一个值是真实的,则返回第二个值。


这也是您执行以下操作时看到的行为:

return false && true

你得到false

这也意味着

return 23 && "Hello"

会给你“你好”

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章