JavaScript中的=,==,===的区别
检查两个值的相等:a == b,请注意双等号 == 表示相等性检查
而单等号 a = b 表示赋值
普通的相等性检查 == 存在一个问题,它不能区分出 0 和 false:
alert( 0 == false ); // true
也同样无法区分空字符串和 false:
alert( ‘’ == false ); // true
这是因为在比较不同类型的值时,处于相等判断符号 == 两侧的值会先被转化为数字。空字符串和 false 也是如此,转化后它们都为数字 0。
如果我们需要区分 0 和 false,该怎么办?
严格相等运算符 === 在进行比较时不会做任何的类型转换
alert( 0 === false ); // false,因为被比较值的数据类型不同
资料来源