JavaScript中为什么"null==0"为false而"null>=0"为true?
因为:
null > 0
对比大于或小于的时候, null 会尝试转型为number , 转化之后null为0, 0>0是错误的,所以结果为 false.
null >= 0
同上,对比 大于等于 或 小于等于 的时候, 会先判断大于或小于, 这时候null 会尝试转型为number , 转化之后null为0, 0>0是错误的,但是0=0是正确的, 这是 “或” 的判断, 所以结果为 true
null == 0
null在设计上,对比等于的时候不尝试转型. null和0不转型的话,是不会相等的, 所以null == 0结果为false.
知识点
关系运算符知 和 相等运算符 并不是一个类别的.
关系运算符,在设计上总是需要运算元道尝试转为一个number,而相等运算符在设计上,则没有这方面的考虑.