Javascript中双等号“==”和三等号“===”的区别
博客专区 > bill_wu 的博客 > 博客详情
Javascript中双等号“==”和三等号“===”的区别
bill_wu 发表于3年前
Javascript中双等号“==”和三等号“===”的区别
  • 发表于 3年前
  • 阅读 28
  • 收藏 0
  • 点赞 0
  • 评论 0

华为云·免费上云实践>>>   

摘要: Javascript中双等号“==”和三等号“===”的区别

我们会在一些代码中看到遇到“===”和“==”的写法,三等号与双等号有什么不同吗?在JavaScript中,===表示“恒等于”,==表示“等于”。=表示“赋值”。

  • =:赋值,在逻辑运算时也有效;
  • ==:等于运算,但是不比较值的类型;
  • ===:完全等于运算,不仅比较值,而且还比较值的类型,只有两者一致才为真。

运行体会一下以下的代码就会清楚了:
alert(0 == ""); // true
alert(0 == false); // true
alert("" == false); // true
alert(0 === ""); // false
alert(0 === false); // false
alert("" === false); // false

在复杂一些:

JavaScript 是弱类型语言,这就意味着,等于操作符会为了比较两个值而进行强制类型转换。注意0的相等运算,例如:
""           ==   "0"           // false  
0            ==   ""            // true  
0            ==   "0"           // true  
false        ==   "false"       // false  
false        ==   "0"           // true  
false        ==   undefined     // false  
false        ==   null          // false  
null         ==   undefined     // true  
" \t "    ==   0             // true 

而恒等于不像普通的等于操作符,不会进行强制类型转换。这样的话上述的结果就不太相同了:
""           ===   "0"           // false  
0            ===   ""            // false  
0            ===   "0"           // false  
false        ===   "false"       // false  
false        ===   "0"           // false  
false        ===   undefined     // false  
false        ===   null          // false  
null         ===   undefined     // false  
" \t "    ===   0             // false 

标签: javascript 等号
共有 人打赏支持
粉丝 2
博文 9
码字总数 3992
×
bill_wu
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: