javascript if(-1){... statement ...}评估为true

时间:2018-07-19 16:34:55

标签: javascript typescript

我有一个条件,其中0或以上为有效,而负数为无效。当我用JavaScript / TypeScript相应地编写代码时,令我惊讶的是,它没有按我预期的方式工作。

代码如下。

if (-1) {
  console.log("truthy")
} else {
  console.log("falsy")
}

这将在控制台中打印以下内容。

  

真实

应该是falsy,对吧?

任何帮助,可以帮助我了解这种行为。我想念什么?

谢谢

3 个答案:

答案 0 :(得分:7)

JavaScript中有六个伪造的值:

  • false
  • 0
  • NaN
  • undefined
  • ''
  • null

所有其他值都是真实的。

答案 1 :(得分:0)

在Javascript中,始终将0评估为falsy,而任何非零数字均为true。

答案 2 :(得分:0)

在javascript BowlingBall ballImperative = pool.computeIfAbsent(number, BowlingBall::new); 中,数字评估为true,而零评估为false。这是一个不错的网页,深入介绍了javascript中许多不同值的布尔值:https://www.sitepoint.com/javascript-truthy-falsy/