JavaScript中何时使用===,何时使用==

建议尽量都使用===,原因如下:

  • 一致性:使用==对一致性没有任何好处,那么为什么不避免使用呢。
  • 简单和性能:一般来说,===是最简单的操作符,因为它不用进行类型转换。JavaScript引擎的性能参差不齐,但是在大部分浏览器中===比==速度更快。
  • 即使会自动转换,但并不总是按你需要的方式转换:比如7+“3”;//"73"。

如果非要使用==,可参考如下两种情况:

1,判断对象的属性是否存在

var obj = {}
if (obj.a == null) {
    // 这里相当于 obj.a === null || obj.a === undefined 的简写形式
    // 这是jquery源码中推荐的写法
}

2,判断函数的参数是否存在

function fn(a, b) {
    if (b == null) {
        // 这里相当于 b === null || b === undefined 的简写形式
    }
}