JavaScript面试题:请解释js中的相等判断

JavaScript中的相等判断有严格判断和带隐式转换的判断两种:

  • 严格判断(strict comparision): 比如===,比较的时候不会隐式转换类型;
  • 抽象判断(abstract comparasion):比如==,比较的时候会隐式转换类型。
var a = "42";
var b = 42;

a == b;         // true
a === b;        // false
复制代码

一些简单的规则:

  • 如果两边都是布尔类型的值,使用===;
  • 如果两边是0,"",[],使用===;
  • 所有其它类型,使用==是安全的。而且在很多情况下会简化代码、增加可读性。

作者:Fundebug
来源:掘金

THE END