第一种是==比较,它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果;
第二种是===比较,它不会自动转换数据类型,如果数据类型不一致,返回false,如果一致,再比较。
由于JavaScript这个设计缺陷,不要使用==比较,始终坚持使用===比较。
另一个例外是NaN这个特殊的Number与所有其他值都不相等,包括它自己:
NaN === NaN; // false
NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示,例如:0 / 0; // NaN
本文详细探讨了JavaScript中两种常见的比较运算符==与===的区别。==会在比较前尝试转换操作数的数据类型,而这种自动类型转换往往导致意料之外的结果。相反,===则直接比较值及其类型,只有在两者完全相同的情况下才返回true。此外,文章还特别提到了NaN的特殊比较行为。
516

被折叠的 条评论
为什么被折叠?



