Javascript Object.is()
JavaScript Object.is()方法检查两个值是否相同。
is()
方法的语法为:
Object.is(value1, value2)
is()
方法是静态方法,使用Object
类名称进行调用。
is()参数
is()
方法具有:
- value1-要比较的第一个值。
- value2-要比较的第二个值。
从is()返回值
- 返回一个
Boolean
指示两个参数是否为相同的值。
如果下列条件之一成立,则两个值相同:
- 两者都
undefined
- 都为
null
- 都
true
或false
- 相同的长度的以相同字符以相同的顺序两个字符串
- 两者都相同(意味着两个对象都有相同的引用)
- 两个数字和
- 都+0
- 两者-0
- 都是
NaN
- 或
NaN
零又非NaN
且两者都具有相同的值
示例:使用Object.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对象
总计 0 评论