[javascript] 객체의 프로퍼티를 복사하는 방법

자바스크립트에서 객체의 프로퍼티를 복사하는 것은 매우 일반적인 작업입니다. 원본 객체의 프로퍼티를 변경하지 않고 새로운 객체에 복사할 수 있는 다양한 방법이 있습니다. 여기서는 몇 가지 일반적인 방법을 살펴보겠습니다.

1. 객체 병합 (Object.assign)

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

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

Object.assign을 사용하여 하나 이상의 소스 객체를 대상 객체에 결합할 수 있습니다. 이 메서드는 대상 객체를 반환하므로 원본 객체가 변경되지 않습니다.

2. Spread 연산자 (Spread Operator)

const source = { a: 1, b: 2 };
const copied = { ...source };
console.log(copied); // { a: 1, b: 2 }

Spread 연산자를 사용하여 객체를 복사할 수 있습니다. 이 방법은 간단하고 가독성이 좋지만, 중첩된 객체의 경우 얕은 복사만 수행하므로 주의해야 합니다.

3. Lodash 라이브러리 사용

const _ = require('lodash');

const source = { a: 1, b: 2 };
const copied = _.cloneDeep(source);
console.log(copied); // { a: 1, b: 2 }

Lodash는 일반적인 작업을 수행하는 많은 유틸리티 함수를 제공하는 유용한 라이브러리입니다. cloneDeep 함수를 사용하여 중첩된 객체를 깊은 복사할 수 있습니다.

이러한 방법들을 사용하여 자바스크립트에서 객체의 프로퍼티를 효과적으로 복사할 수 있습니다. 각각의 방법은 상황에 맞게 선택하여 사용할 수 있습니다.