Object.is
정의
Object.is(value1, value2)Object.is 메서드는 두 값이 동일한지 비교합니다. 이 메서드는 === 연산자와 유사하지만, 몇 가지 중요한 차이점이 있습니다.
주요 차이점
-
NaN은Object.is로 비교할 때 동일하다고 간주됩니다.console.log(NaN === NaN); // false console.log(Object.is(NaN, NaN)); // true -
+0과-0은Object.is로 비교할 때 서로 다르다고 간주됩니다.console.log(+0 === -0); // true console.log(Object.is(+0, -0)); // false -
그 외의 경우는
===와 동일하게 작동합니다.console.log(1 === "1"); // false console.log(Object.is(1, "1")); // false
사용 예제
// NaN 비교
console.log(Object.is(NaN, NaN)); // true
// +0과 -0 비교
console.log(Object.is(+0, -0)); // false
// 일반적인 비교
console.log(Object.is(1, 1)); // true
console.log(Object.is(1, "1")); // false
console.log(Object.is("hello", "hello")); // true
console.log(Object.is({}, {})); // false (서로 다른 객체)