[javascript] 객체의 특정 속성을 제외한 복사본 만들기
자바스크립트에서 객체의 특정 속성을 제외한 복사본을 만들고 싶을 때가 있습니다. 이를 위해 어떤 방법을 사용해야 할까요? 이 글에서는 자바스크립트에서 특정 속성을 제외한 객체의 복사본을 만드는 방법을 알려드리겠습니다.
1. Object.assign을 사용하는 방법
가장 간단하고 일반적인 방법은 Object.assign
메소드를 사용하는 것입니다. 이 메소드를 사용하면 속성을 복사하고 새로운 객체를 생성할 수 있습니다. 다음은 사용법과 예시입니다.
const obj = {
prop1: 'value1',
prop2: 'value2',
prop3: 'value3'
};
const copiedObj = Object.assign({}, obj); // 모든 속성을 복사
delete copiedObj.prop1; // 특정 속성 제외
위의 예시에서 Object.assign
메소드를 사용하여 obj
의 복사본인 copiedObj
를 생성했습니다. 그 후, copiedObj
의 prop1
속성을 제외하기 위해 delete
키워드를 사용했습니다. 이제 copiedObj
는 obj
와 모든 속성을 공유하지만 prop1
속성을 가지고 있지 않습니다.
2. 전개 연산자를 사용하는 방법
ES6 이후부터는 전개 연산자(...
)를 사용하여 객체를 복사하는 방법도 가능합니다. 전개 연산자를 사용하여 객체를 복사하고 특정 속성을 제외할 수 있습니다. 다음은 사용법과 예시입니다.
const obj = {
prop1: 'value1',
prop2: 'value2',
prop3: 'value3'
};
const { prop1, ...copiedObj } = obj; // 특정 속성 제외
console.log(copiedObj); // { prop2: 'value2', prop3: 'value3' }
위의 예시에서는 전개 연산자를 사용하여 obj
객체를 복사하고, { prop1, ...copiedObj }
구문에서 prop1
속성을 제외한 나머지 속성을 copiedObj
에 할당했습니다. 따라서 copiedObj
에는 prop1
속성이 제외된 복사본이 저장되게 됩니다.
참고 자료
위의 방법들을 사용하여 자바스크립트에서 객체의 특정 속성을 제외한 복사본을 만들 수 있습니다. 각 방법마다 장단점이 있으니 상황에 맞게 적절히 선택하여 사용하시면 됩니다.