Why are JavaScript negative numbers not always true or false?

前端 未结 3 965
轮回少年
轮回少年 2020-12-02 20:02
-1 == true;        // false
-1 == false        // false
-1 ? true : false; // true

Can anyone explain the above output? I know I could work round t

3条回答
  •  渐次进展
    2020-12-02 20:15

    In most systems, non-zero values are considered a true value, but that doesn't necessarily mean that they are the same true value as true. Thus, -1 == true doesn't necessarily hold, but -1 can still be considered a true value since it is non-zero.

    Really, though, you shouldn't be comparing integers to booleans if you can avoid it.

提交回复
热议问题