JavaScript 三個等號 === 全等運算子

antzone發表於2018-10-25

判斷兩個運算數是否相等,有時候使用兩個等號(==),有時候使用三個等號(===)。

下面介紹一下三個等號(全等運算子)的用法。

關於兩個等號(等號運算子)參閱JavaScript == 等號運算子一章節。

全等運算子對運算元的檢查更為嚴格,具體規則如下:

(1).如果兩個運算數型別不相同,不會進行型別轉換:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let num=5;
let str="5";
console.log(num==str);
console.log(num===str);

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201810/25/004136ih6rtbmg3isk8sss.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

(2).如果兩個運算數是數字,且相同,返回true:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let a=5;
let b=5;
console.log(a==b);
console.log(a===b);

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201810/25/004341n155xr5kr5t158kf.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

有一個例外NaN,它和任何運算元都不相同,包括和它自身。

(3).如果兩個運算數是字串,且完全相同,返回true:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let a="antzone";
let b="antzone";
console.log(a===b);

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201810/25/004525zrlqoqq6b8tez8e1.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

(4).如果兩個值所引用的物件不同,即便物件內容相同,返回false:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let a={webName:"螞蟻部落"};
let b={webName:"螞蟻部落"};
console.log(a===b);

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201810/25/004957d5dria4vnnb5dd81.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

全等運算子比較的是物件的引用地址,兩個不同的物件,它們的地址自然不同。

等號運算子也是如此,不多介紹。

(6).如果兩個值都是null或都是undefined,返回true:

[JavaScript] 純文字檢視 複製程式碼
console.log(null===null);
console.log(undefined===undefined);

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201810/25/005035akmo22dkol7g7izi.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

返回值都是true,非常簡單,無需做過多解釋。

相關文章