JS. 28 Shallow, Deep Compare

하승진·2024년 2월 18일

JS 따라잡기

목록 보기
28/49
post-thumbnail

얕은 비교 (Shallow Compare)

: 원시 자료형(숫자, 문자열 등)은 값을 비교

: 참조 자료형(배열, 객체 등)은 값, 속성을 비교하지 않고, 참조되는 위치를 비교


obj1과 obj2는 객체

객체 간 비교는 값이 아닌 참조 위치로 비교하기에 false 반환


깊은 비교 (Deep Compare)

: 얕은 비교와 달리 객체의 경우에도 값으로 비교

1. Object depth가 깊지 않은 경우 : JSON.stringify()사용

2. Object depth가 깊은 경우 : lodash 라이브러리의 isEqual() 사용

원래는 객체 간 참조 위치 비교하기에 false 반환이 맞지만

JSON.stringify()함수로 각 객체의 값을 반환하여 비교하기에 true로 반환하게 된다.

profile
기어갈지언정 한 발자국씩이라도 가보자

0개의 댓글