一、定義
Object.is()方法用來判斷兩個值是否嚴格相等。它與嚴格比較運算符(===)的行為基本一致。
二、語法
Object.is(obj1, obj2);
參數
obj1:需要比較的第一個值。
obj2:需要比較的第二個值。
返回值
返回兩個參數是否相同的布爾值。
Object.is()方法在處理NaN和+0、-0上和嚴格相等運算符不同。
+0 === -0; // true
Object.is(+0, -0); // false
NaN === NaN; // false
Object.is(NaN, NaN); // true
Object.is()方法在以下情況會返回true。
- 兩個值都是undefined。
- 兩個值都是null。
- 兩個值都是NaN。
- 兩個值都是true或false。
- 兩個值都是相同個數的字符並且按照相同順序組成的字符串。
- 兩個值都指向同一個對象。
- 兩個值都是正零(+0)、都是負零(-0)和都是除零和NaN外的其他同一個數字。