== 检查值相等, 允许类型转换
=== 检查值和类型相等, 不允许类型转换那么在不同情况下应该使用==还是===
(1)如果要比较的两个值的任意一个(即一边)可能是 true 或者 false 值,那么要避免使用 ==,而使用 ===。
(2)如果要比较的两个值中的任意一个可能是特定值(0、"" 或者 []——空数组),那么避免使用 ==,而使用 ===
(3)在所有其他情况下,使用 == 都是安全的。不仅仅只是安全而已,这在很多情况下也会简化代码,提高代码的可读性
如果你能够确定这些值,并且 == 是安全的,那么就可以使用它!如果不能确定其值,那么就使用 ===。
如果是比较两个非原生值的话,比如对象(包括函数和数组),那么需要特殊注意 == 与
=== 这些比较规则。因为这些值通常是通过引用访问的,所以 == 和 === 比较只是简单地检查这些引用是否匹配,而完全不关心其引用的值是什么。