js ==和===的区别

栏目: Javascript 发布时间:2023-11-30

很多团队都有自己的开发规范文档,其中可能就有一条“使用===,不实用==”。

那么,在 js 中,== 和 === 有什么区别呢?

js ==和===的区别

“==” 表示相等,“===” 表示严格相等。

“==” 运算符会在进行相等比较之前会进行类型转换,先转为统一类型再比较值是否相等;而“===” 运算符则不会做类型转换。

为什么推荐用 “===” 而不是 “==” ?

之所以推荐使用 ===,是因为其规则简单,不易出错,而 == 则截然相反,规则非常复杂,容易出错。

看下面的实例:

true == true // true
true == false // false
true == 1 // true
true == 0 // false
true == -1 // false
false == '' // true
false == {} // false

是不是 So Easy?

请收起你的不屑,继续往下看:

true == 'true' // false
true == 'false' // false
[] == false // true
false == null // false
false == '0' // true
undefined == false // false
[0] == false // true
NaN == false // false

是不是有很多和你预想的不一样?!

看到这里,到底用 “===” 还是 “==”,相信你已有自己的答案。好了,就到这里。

本文地址:https://www.tides.cn/p_js-the-difference-between-double-equals-and-three-equals

标签: ==和===