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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。