JavaScript的相等和严格相等
JavaScript有两个表示相等的运算符:“相等”(==)和“严格相等”( ===)
- 简单的说,他们的区别是相等运算符(==)比较两个值是否相等,严格相等运算符( ===)比较它们是否是“同一个值”。如果两个值不是同一类型,严格相等运算符( ===)直接返回false;相等运算符( == )会将它们转换成同一个类型,再用严格相等运算符进行比较。
- 换一种说法也可以这样来理解,相等(==)比较表面值是否相等,而不会进行类型的判断;而严格相等( ===)不仅会比较表面值是否相等,也会判断类型是否相等。
严格相等运算符(===)
1 === '1' //false
true = 'true' //false
相等运算符(==)
1 == '1' // true 等同于 1 === Number('1')