JavaScript Object.is() 方法檢查兩個值是否相同。
用法:
Object.is(value1, value2)
is()
方法是靜態方法,使用Object
類名調用。
is()參數
is()
方法包含:
value1
- 要比較的第一個值。value2
- 要比較的第二個值。
is() 的返回值
- 返回一個
Boolean
,指示兩個參數是否相同。
如果以下條件之一成立,則兩個值相同:
undefined
null
true
或false
- 兩個字符串長度相同,字符順序相同
- 兩個相同的對象(意味著兩個對象具有相同的引用)
- 兩個數字和
- 兩個都+0
- 兩個都-0
NaN
- 或者都非零且都不是
NaN
並且都具有相同的值
示例:使用對象。is()
// Objects with the same values
console.log(Object.is("JavaScript", "JavaScript")); // true
// Objects with different values
console.log(Object.is("JavaScript", "javascript")); // false
console.log(Object.is([], [])); // false
let obj1 = { a: 1 };
let obj2 = { a: 1 };
console.log(Object.is(obj1, obj1)); // true
console.log(Object.is(obj1, obj2)); // false
console.log(Object.is(null, null)); // true
// Special Cases
console.log(Object.is(0, -0)); // false
console.log(Object.is(-0, -0)); // true
console.log(Object.is(NaN, 0 / 0)); // true
輸出
true false false true false true false true true
注意:
==
運算符在測試相等性之前對雙方(如果不是相同的類型)應用各種強製,而Object.is()
沒有。-
===
運算符處理數值-0 +0平等對待Number.NaN
不等於NaN
盡管Object.is()
相反。
相關用法
- JavaScript Object.isPrototypeOf()用法及代碼示例
- JavaScript Object.isExtensible()用法及代碼示例
- JavaScript Object.isFrozen()用法及代碼示例
- JavaScript Object.isSealed()用法及代碼示例
- JavaScript Object.assign()用法及代碼示例
- JavaScript Object.getPrototypeOf()用法及代碼示例
- JavaScript Object.seal()用法及代碼示例
- JavaScript Object.getOwnPropertyDescriptors()用法及代碼示例
- JavaScript Object.setPrototypeOf()用法及代碼示例
- JavaScript Object.getOwnPropertySymbols()用法及代碼示例
- JavaScript Object.defineProperties()用法及代碼示例
- JavaScript Object.freeze()用法及代碼示例
- JavaScript Object.preventExtensions()用法及代碼示例
- JavaScript Object.fromEntries()用法及代碼示例
- JavaScript Object.getOwnPropertyDescriptor()用法及代碼示例
- JavaScript Object.getOwnPropertyNames()用法及代碼示例
- JavaScript Object.propertyIsEnumerable()用法及代碼示例
- JavaScript Object.defineProperty()用法及代碼示例
- JavaScript Object.keys()用法及代碼示例
- JavaScript Object.values()用法及代碼示例
注:本文由純淨天空篩選整理自 Javascript Object.is()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。