说明
等值运算符 | 说明 |
==(相等) | 比较两个操作数的值是否相等 |
!=(不想等) | 比较两个操作数的值是否不相等 |
===(恒等) | 比较两个操作数的值是否相等,同时检测它们的类型是否相同 |
!==(不恒等) | 比较两个操作数的值是否不相等,同时检测它们的类型是否不相同 |
js在比较的时候如果是 == 会先做类型转换,再判断值得大小,如果是===类型和值必须都相等。
注意
- 如果操作数是布尔值,则先转换为数值,其中 false 转为 0,true 转换为 1。
- 如果一个操作数是字符串,另一个操作数是数字,则先尝试把字符串转换为数字。
- 如果一个操作数是字符串,另一个操作数是对象,则先尝试把对象转换为字符串。
- 如果一个操作数是数字,另一个操作数是对象,则先尝试把对象转换为数字。
- 如果两个操作数都是对象,则比较引用地址。如果引用地址相同,则相等;否则不等。