符号 | “==” | “===” |
---|---|---|
1 | 它的比较并不严格,当操作数的类型一致时,它会按照严格相等的规则进行比较,但当操作数的类型不一致时,它会尝试进行类型转换。 | 首先会计算操作符的值,然后比较这两个值(即使类型不一致也不会进行转换) |
2 | 一个是null,一个是undefined时,则相等; | 如果两操作数的类型不同,则不相等 |
3 | 一个值是字符串,一个值是数字时,会首先将字符串转换为数字,然后用转换之后的值进行比较; | 操作数中只要出现NaN,则不相等; |
4 | 如果其中的一个操作数为true或false,则会将其先转换为1或0再比较; | .二者都为null或undefined,则相等;一方为null,一方为undefined,则不相等; |
5 | 如果一个值为对象,另一个值为数字或是字符串,则会先将对象转换为原始值,再进行比较; | .操作数都为true或false时,则相等; |
6 | 其它不同类型之间的比较均为不相等。 | 操作数都为数字,且数值相等时,则相等;并且-0===0为true; |
7 | are neat | 操作数都为字符串,且各个位上的字符都相等时,字符串相等; |
8 | are neat | 两个引用指向同一个对象、函数或数组时,则相等。 |
网友评论