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""falseundefinednullNaN其他一切都是真实的 不——不对。 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 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

node单线程

JS if 语句-innerHTML

stat()错误'readdir()返回文件名时'没有这样的文件或目录'

如何等待 JavaScript/TypeScript 中的 Promise 列表?

如何在JavaScript / TypeScript中等待Promise列表?

fs文件操作模块