JavaScript兩個等號和三個等號區別

admin發表於2018-08-20

在JavaScript程式碼經常看到三個等號和兩個等號的使用,下面介紹一下它們兩者的區別。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
console.log(0=="");
console.log(0==false);
console.log(""==false);

再來看一段程式碼例項:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
console.log(0==="");
console.log(0===false);
console.log(""===false);

上面你的程式碼演示了兩個運算子的,下面介紹一下它們兩者的區別。

三個等號全等運算子:

既然是全等運算子,那麼兩個運算數必須完全一樣才能夠相等,具體比較規則如下:

1.如果兩個操作是值型別,那麼兩個運算元必須完全相等才會相等。

2.如果是引用型別,兩個運算元必須指向同一個物件才會相等。

兩個等號運算子:

這個運算子比較博愛一些,在比較的時候如果兩個運算元的型別不同,會進行型別轉換,具體規則如下:

1.如果是資料型別相同的值型別,那麼比較規則和全等運算子相同。

2.如果兩個運算元型別相同,那麼它們也是有可能相同的:

(1).如果一個是null、一個是undefined,那麼兩個是相同的。 

(2).如果一個是字串,一個是數值,把字串轉換成數值再進行比較。 

(3).如果任一值是true,把它轉換成1再比較,如果任一值是false,把它轉換成0再比較。 

(4).如果一個是物件,另一個是數值或字串,把物件轉換成基礎型別的值再比較。物件轉換成基礎型別,利用它的toString或者valueOf方法。

相關文章