JavaScript判断相等

三种方式:

  • === :严格相等
  • == :宽松相等
  • Object.is()

宽松相等

在比较前将两个被比较的值转换为相同类型,转换后的比较方式等同于严格相等的比较方式,并对 NaN-0 和 +0 进行特殊处理(故 NaN != NaN,且 -0 == +0);

严格相等

宽松相等的比较方式相同,但不进行类型转换;

Object.is()

既不对  NaN-0 和 +0 特殊处理,也不执行类型转换。

相等操作符满足交换律。

MDN