Object.is 2

[React] 리액트에서의 동등 비교 (Object.is)

앞선 글에서 JS에는 ==, ===, Object.is처럼 여러 가지 비교 방식이 있음을 살펴봤다. [JavaScript] 비교 방식 (==, ===, Object.is)JS에는 값을 비교하는 방법이 세 가지나 있다.== 👉🏻 동등 비교=== 👉🏻 일치 비교Object.is() 👉🏻 same value 비교겉보기에는 모두 같은지를 비교하는 것처럼 보이지만, 실제로는 비교 기준 자체kssossok.tistory.com 그렇다면 리액트에서는 어떻게 값이 바뀌었는지를 판단할까? 결론부터 말하자면 리액트는 내부적으로 Object.is 기반의 비교를 사용하며, 여기에 객체애 대한 얕은 비교를 추가로 수행한다 🤫그럼 오늘은 리액트가 Object.is를 사용하는 이유부터 얕은 비교를 추가적으로 하는 이유..

[JavaScript] 비교 방식 (==, ===, Object.is)

JS에는 값을 비교하는 방법이 세 가지나 있다.== 👉🏻 동등 비교=== 👉🏻 일치 비교Object.is() 👉🏻 same value 비교겉보기에는 모두 같은지를 비교하는 것처럼 보이지만, 실제로는 비교 기준 자체가 서로 다르다.오늘은 각각이 '같다'는 걸 어떻게 판단하는 지에 대해 하나씩 알아보자. 1. 동등 비교 연산자 (==)==는 타입이 달라도 값이 같아 보이면 같다고 판단한다.왜냐하면 비교 전에 타입 변환을 시도하기 때문이다. 예를 들어 number 타입의 1과 string 타입의 1이 같은지 비교해보자. 결과는 true임을 볼 수 있다. 0과 false를 비교해보면 어떨까? 마찬가지로 얘도 true가 나온다. 마지막으로 null과 undefined까지만 더 비교해보자. 얘마..