[javascript] 객체의 속성 값을 기준으로 객체 병합하기

자바스크립트에서는 여러 개의 객체를 병합하는 데에 많은 방법이 있습니다. 이 중에서도 객체의 속성 값을 기준으로 객체를 병합하는 방법을 알아보겠습니다.

예를 들어, 다음과 같이 두 개의 객체가 있다고 가정해봅시다.

const obj1 = { name: "John", age: 25 };
const obj2 = { name: "Jane", gender: "female" };

이 두 개의 객체를 속성 값 기준으로 병합하여 새로운 객체를 만들기 위해서는 다음과 같이 할 수 있습니다.

const mergedObj = { ...obj1, ...obj2 };

위의 코드는 spread 연산자(...)를 사용하여 두 개의 객체를 병합하고 있습니다. 결과적으로 mergedObj 변수에는 다음과 같은 객체가 할당됩니다.

{ name: "Jane", age: 25, gender: "female" }

이와 같이 속성 값 기준으로 객체를 병합하는 방법은 간단하면서도 유용하게 활용할 수 있습니다.

추가적인 옵션

만약 두 개의 객체를 병합할 때, 동일한 속성이 존재할 경우 어떤 값을 우선해야 하는지 지정하고 싶다면 다음과 같이 할 수 있습니다.

const mergedObjWithOptions = { ...obj1, ...obj2, name: "John" };

위의 코드는 name 속성 값을 마지막으로 전달된 값인 “John”으로 설정하고 있습니다. 따라서 mergedObjWithOptions 변수에는 다음과 같은 객체가 할당됩니다.

{ name: "John", age: 25, gender: "female" }

이와 같은 방식으로 객체들을 병합하면서 원하는 속성 값을 지정할 수 있습니다.

참고 자료