[typescript] 반복문을 사용한 데이터 복사

이 문서에서는 TypeScript를 사용하여 배열과 객체를 복사하는 방법을 알아보겠습니다.

배열 복사하기

원래 배열의 내용을 수정하는 대신, 복제본을 만드는 것이 중요합니다.

const originalArray: number[] = [1, 2, 3, 4, 5];
const copiedArray: number[] = [...originalArray];

위의 예제에서 copiedArrayoriginalArray의 복제본이 됩니다. 이제 originalArray를 변경해도 copiedArray에는 영향을 미치지 않습니다.

객체 복사하기

객체를 복제하는 방법은 약간 다르지만 마찬가지로 중요합니다. Spread 구문(...)을 사용하여 간단히 복사할 수 있습니다.

const originalObject: { name: string, age: number } = { name: 'Alice', age: 30 };
const copiedObject: { name: string, age: number } = { ...originalObject };

Deep Copy

하지만 주의해야 할 점은 객체가 중첩되어 있을 때입니다. 단순히 Spread 구문을 사용하는 경우, 내부 객체는 복사되지 않습니다. 실제로 객체 내부의 모든 것을 복사하려면 깊은 복사(deep copy)가 필요합니다.

const originalObject: { name: string, profile: { height: number, weight: number } } = { name: 'Bob', profile: { height: 180, weight: 75 } };
const copiedObject: { name: string, profile: { height: number, weight: number } } = JSON.parse(JSON.stringify(originalObject));

위의 예제에서 copiedObjectoriginalObject의 깊은 복사가 됩니다.

결론

TypeScript에서 배열과 객체를 복사하는 방법은 간단하지만 주의할 점이 있습니다. Spread 구문을 사용하여 얕은 복사를 하거나, JSON.stringifyJSON.parse를 사용하여 깊은 복사를 할 수 있습니다.

참고 자료