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