https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/EqualityIf one of the operands is Boolean, convert the Boolean operand to 1 if it is true and +0 if it is false.
不好意思你说错了
【 在 javaboy (喝了咖啡就话多-_-;) 的大作中提到: 】
: 最后那个 0 == false 的例子确实是js相关的,不是蠢问题。
: 在js标准里==操作符的算法基本就是查表,规则可以有逻辑性,也可以没有逻辑性。每一种情况都是当特例处理的。从你的描述看,估计你误以为0==false是把false隐式转换成了number再比较。实际上不是这样的。js标准看到左边是number右边是boolean,就去规则库里找到量相应的
: 换个说法:0==false之所以结果是true,并不是像c那样根据优先级cast然后根据语义算出来,纯粹是因为js发明人选择了true。
: ...................
--
FROM 122.57.163.*