之前使用JavaScript的時候,時不時的會遇到使用 == 和 === 這兩個符號來判斷兩個變量是否相等。但是對於這兩個符號的差別一直沒有去調查。今天又遇到了 === 這個符號,所以決定去查一下,究竟這兩者有什麼區別。
在Javascript中有"=="和"==="兩種比較運行符,那麼他們有什麼區別呢?
一、對於string,number等基礎類型,==和===是有區別的
1)不同類型間比較,==之比較“轉化成同一類型後的值”看“值”是否相等,===如果類型不同,其結果就是不等
2)同類型比較,直接進行“值”比較,兩者結果一樣
二、對於Array,Object等高級類型,==和===是沒有區別的
當一個變量定義為Arrary和一個變量定義為Object類型時,但是其值相同時,==和===比較的結果是相同的,因為它是進行“指針地址”比較
三、基礎類型與高級類型,==和===是有區別的
1)對於==,將高級轉化為基礎類型,進行“值”比較
2)因為類型不同,===結果為false