javascript if(-1){... statement ...}的计算结果为true

kat*_*n A -5 javascript typescript

我有一个条件,其中0或更多是有效的,负面是无效的.当我在JavaScript/TypeScript中相应地编写代码时,令我惊讶的是它没有像我预期的那样工作.

代码如下.

if (-1) {
  console.log("truthy")
} else {
  console.log("falsy")
}
Run Code Online (Sandbox Code Playgroud)

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

truthy

它应该是falsy,对吧?

任何帮助,帮助我理解这种行为.我错过了什么?

谢谢

pet*_*ete 7

JavaScript中有六个虚假值:

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

所有其他值都是真实的.