javascript if(-1) ...statement... 计算结果为 true [重复]
Posted
技术标签:
【中文标题】javascript if(-1) ...statement... 计算结果为 true [重复]【英文标题】:javascript if(-1) ...statement... evaluates to true [duplicate]javascript if(-1) ...statement... 计算结果为 true [重复] 【发布时间】:2018-12-27 21:32:11 【问题描述】:我有一个条件,0
或更多是有效的,而否定是无效的。当我在 javascript/TypeScript 中相应地编写代码时,令我惊讶的是它并没有按我预期的方式工作。
代码如下。
if (-1)
console.log("truthy")
else
console.log("falsy")
这会在控制台中打印以下内容。
真实
应该是falsy
吧?
任何帮助,帮助我理解这种行为。我错过了什么?
谢谢
【问题讨论】:
-1
是一个真实值。唯一的虚假值是 0
、""
、false
、undefined
、null
和 NaN
。 其他一切都是真实的。
不——不对。
0 被认为是一个假值而不是 -1
【参考方案1】:
JavaScript 中有六个假值:
false
0
NaN
undefined
''
null
所有其他值都是真实的。
【讨论】:
【参考方案2】:在 Javascript 中,0 总是被评估为假,任何非零数都是真。
【讨论】:
【参考方案3】:在 javascript non-zero
中,数字计算为真,而零计算为假。这是一个很好的网页,深入探讨了 javascript 中许多不同值的布尔评估:https://www.sitepoint.com/javascript-truthy-falsy/
【讨论】:
以上是关于javascript if(-1) ...statement... 计算结果为 true [重复]的主要内容,如果未能解决你的问题,请参考以下文章
stat()错误'readdir()返回文件名时'没有这样的文件或目录'
如何等待 JavaScript/TypeScript 中的 Promise 列表?