在JavaScript中
==
的作用是对数据值的比较,当值相同数据类型不同也会返回true
。===
的作用则更为严格,要同时满足数据类型一致,且值相同才会返回true
。
false == 0; // true
false === 0; // false
由于JavaScript这个设计缺陷,不要使用==
比较,始终坚持使用===
比较。
另一个例外是NaN
(not a numbe)这个特殊的Number与所有其他值都不相等,包括它自己:
NaN === NaN; // false
唯一能判断NaN
的方法是通过isNaN()
函数:
isNaN(NaN); // true