原文鏈接:https://blog.csdn.net/seven_amber/article/details/62889290
--------------------------------------------------------------------
==???用于比較?? 判斷 兩者相等??? ? ==在比較的時候可以轉自動換數據類型
===用于嚴格比較?? 判斷兩者嚴格相等? ?? ===嚴格比較,不會進行自動轉換,要求進行比較的操作數必須類型一致,不一致時返回flase。
舉例說明:
"1"? ==? true
類型不同,"=="將先做類型轉換,把true轉換為1,即為 "1"? ==? 1;
此時,類型仍不同,繼續進行類型轉換,把"1"轉換為1,即為 1 == 1;
此時,"==" 左右兩邊的類型都為數值型,比較成功!返回true
如果比較:"1"? ===? true 左側為字符型,右側為bool布爾型,左右兩側類型不同,結果為false;
如果比較:"1" === 1 左側為字符型,右側為int數值型,左右兩側類型不同,結果為false;
如果比較: 1?? ===? 1?????? 左側為int數值型,右側為int數值型,左右兩側類型相同,數值大小也相同,結果為true;
如果比較: 1?? ===? 2????? 左側為int數值型,右側為int數值型,左右兩側類型相同,但數值大小不同,結果為false;
如果比較:1===1===1 ?左側1===1 為true,true===1 因為左右兩側類型不同,結果為false。
簡而言之就是 "==" 只要求值相等;?? "===" 要求值和類型都相等