【发布时间】:2015-01-05 23:55:04
【问题描述】:
以前可能有人问过,但我找不到。我也阅读了specs,没有看到任何奇怪的东西可以解释为什么"0" 的计算结果为true。
那么为什么"0" ? "yes" : "no" 会返回yes?
("0"==true) ? "yes" : "no" 按预期工作。
【问题讨论】:
-
所以你没有看到这篇文章? stackoverflow.com/q/359494/1026459
-
@TravisJ 不,但现在我已经看到了,它仍然没有向我解释。在什么情况下
"0"会评估为true? -
@serg 我在答案中列出了链接,但这与类型强制有关。你可以在这里阅读更多信息:webreflection.blogspot.com/2010/10/…
-
在这里也可以看到我的回答:stackoverflow.com/q/7496727/218196
-
这是一个很好的问题,因为 (x) 和 (x==true) 应该是同一个东西,但在这种情况下它们不是。
标签: javascript ternary-operator