相关疑难解决方法(0)

为什么`null> = 0 && null <= 0`但不是`null == 0`?

我必须编写一个例程,如果变量的类型是number,则将变量的值增加1,如果不是,则将变量赋值给0,其中变量最初为nullundefined.

第一个实现是v >= 0 ? v += 1 : v = 0因为我认为任何不是数字都会使算术表达式为false,但是由于null >= 0被评估为true ,所以它是错误的.然后我学会了null类似于0的行为,并且以下表达式都被评估为true.

  • null >= 0 && null <= 0
  • !(null < 0 || null > 0)
  • null + 1 === 1
  • 1 / null === Infinity
  • Math.pow(42, null) === 1

当然,null不是0. null == 0被评估为假.这使得看似同义的表达是(v >= 0 && v <= 0) === (v == 0)错误的.

为什么它null像0,虽然它实际上不是0?

javascript comparison null

135
推荐指数
4
解决办法
4万
查看次数

标签 统计

comparison ×1

javascript ×1

null ×1