区别
- === 严格相等,需要值与类型都相等才返回
true; - == 值相等通常就返回
true,他涉及了一些隐式类型转换,转换规则如下:- 两边类型相同直接比较值的大小;
- 判断两边是
null和undefined则返回true; - 两边值是'String
和Number则先把'String转换成数字类型在比较; - 其中一方是布尔类型则先把布尔值转换成数字类型,再进行比较;
- 其中一方是数字类型先转换成数字类型再比较;
- 一方是对象类型,一方是字符串类型、数字类型和Symbel类型这三个中的一个,则先把对象转换成字符串再比较。
综上,项目中最好是都用
===,双等判断存在太多变数。