JS基础之== 与 ===原理

1,226 阅读1分钟

一、== 与 ===的区别

是否进行类型转换

二、==比较原理

对于 == 来说,如果对比双方的类型不一样的话,就会进行类型转换。判断流程为:

  • 首先会判断两者类型是否相同。相同的话比大小,类型不相同的话,那么就会进行类型转换
  • 会先判断是否在对比 null 和 undefined,是的话就会返回 true
  • 判断两者类型是否为 string 和 number,是的话就会将字符串转换为 number
  • 判断其中一方是否为 boolean,是的话就会把 boolean 转为 number 再进行判断
  • 判断其中一方是否为 object 且另一方为 string、number 或者 symbol,是的话就会把 object 转为原始类型再进行判断 ###三、===比较原理 判断两者类型和值是否相同,类型不一致,直接返回false;否则继续比较两值的大小