# == 和 === 有什么区别

# ==

  1. 首先会判断两者类型是否相同。相同的话就直接进行比较
  2. 如果对比双方的类型不一样的话,就会进行类型转换
  3. null 与 undefined : true
  4. string 与 number : string->number
  5. 其中一方为 boolean:boolean -> number
  6. object 与 string、number、symbol : object -> 原始值类型

示例

[] == ![] 
[] == !true
[] == false
[] == 0
'' == 0
 0 == 0 // true
1
2
3
4
5
6

# ===

判断两者类型和值是否相同

示例

true==='true' // false 类型不同

true == 'true'
1 == 'true'
1 == NaN // false
1
2
3
4
5