[javascript] 객체의 속성을 병합하는 방법

자바스크립트에서 두 개 이상의 객체를 병합하여 하나의 객체로 만드는 방법에는 여러 가지가 있습니다. 다양한 방법 중에서 ES6 이후의 문법을 사용하여 객체의 속성을 병합하는 방법에 대해 알아보겠습니다.

1. Object.assign을 사용한 속성 병합

ES6에서 도입된 Object.assign 메서드는 여러 개의 출처 객체로부터 대상 객체로 속성을 병합할 수 있는 방법을 제공합니다.

다음은 Object.assign을 사용하여 객체를 병합하는 예제입니다.

const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };

const merged = Object.assign({}, target, source);
// 결과: { a: 1, b: 4, c: 5 }

위 예제에서 Object.assign 메서드는 target 객체와 source 객체의 속성을 병합하여 merged 객체를 생성했습니다.

이때, Object.assign 메서드는 첫 번째 매개변수로 대상 객체를 받고, 이어지는 매개변수로 병합할 속성을 가진 객체를 받습니다. 이때, 동일한 속성이 있는 경우에는 나중에 전달된 객체의 속성 값으로 덮어씁니다.

2. 전개 구문을 사용한 속성 병합

ES6에서 도입된 전개 구문은 객체나 배열을 확장하여 병합하는 데에도 사용될 수 있습니다. 이를 활용하여 더 간결하게 객체를 병합할 수 있습니다.

다음은 전개 구문을 사용하여 객체를 병합하는 예제입니다.

const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };

const merged = { ...target, ...source };
// 결과: { a: 1, b: 4, c: 5 }

위 예제에서는 전개 구문(...)을 사용하여 target 객체와 source 객체를 병합하여 merged 객체를 생성했습니다.

결론

ES6 이후의 자바스크립트에서는 Object.assign 메서드와 전개 구문을 사용하여 객체의 속성을 병합할 수 있습니다. 각각의 방법은 유용하게 활용될 수 있으니, 상황에 맞게 적절히 선택하여 활용하면 됩니다.

이것으로 자바스크립트에서 객체의 속성을 병합하는 방법에 대한 간단한 소개를 마치겠습니다.

참고: MDN web docs