为什么为空>3个假和空<3在节点中为true

Why is null > 3 false and null < 3 true in node?

本文关键字:节点 true gt 3个 为什么 lt      更新时间:2023-09-26

为什么null>3为false而null<3在节点中为真?

$ node
> null > 3
false
> null < 3
true

因为它在应用小于/大于运算符时将null强制为0


规范的11.8.5节显示<>运算符将调用左侧值(null)上的ToNumber

规范的9.3节显示ToNumber将把null翻译成0

我不能100%确定,但在使用比较器时,null似乎是0,但奇怪的是,null==0和null===0返回false,但null<=0在空<0返回false。

> null == 0 
false
> null === 0
false
> null <= 0
true
> null < 0
false
> null < -1
false