在javascript中==和===的區別
在javascript中==和===的區別
長風秋雁
2019-02-11 12:12:22
TA貢獻1799條經驗 獲得超9個贊
==用于一般比較,===用于嚴格比較,==在比較的時候可以轉換數據類型,===嚴格比較,只要類型不匹配就返回flase。
舉例說明:
"1" == true
類型不同,"=="將先做類型轉換,把true轉換為1,即為 "1" == 1;
此時,類型仍不同,繼續進行類型轉換,把"1"轉換為1,即為 1 == 1;
此時,"==" 左右兩邊的類型都為數值型,比較成功!
如果比較:"1" === true 左側為字符型,右側為bool布爾型,左右兩側類型不同,結果為false;
如果比較:"1" === 1 左側為字符型,右側為int數值型,左右兩側類型不同,結果為false;
如果比較: 1 === 1 左側為int數值型,右側為int數值型,左右兩側類型相同,數值大小也相同,結果為true;
如果比較: 1 === 2 左側為int數值型,右側為int數值型,左右兩側類型相同,但數值大小不同,結果為false;
簡而言之就是 "==" 只要求值相等; "===" 要求值和類型都相等
舉報