[typescript] 반복문을 사용한 데이터 복사
이 문서에서는 TypeScript를 사용하여 배열과 객체를 복사하는 방법을 알아보겠습니다.
배열 복사하기
원래 배열의 내용을 수정하는 대신, 복제본을 만드는 것이 중요합니다.
const originalArray: number[] = [1, 2, 3, 4, 5];
const copiedArray: number[] = [...originalArray];
위의 예제에서 copiedArray
는 originalArray
의 복제본이 됩니다. 이제 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));
위의 예제에서 copiedObject
는 originalObject
의 깊은 복사가 됩니다.
결론
TypeScript에서 배열과 객체를 복사하는 방법은 간단하지만 주의할 점이 있습니다. Spread 구문을 사용하여 얕은 복사를 하거나, JSON.stringify
와 JSON.parse
를 사용하여 깊은 복사를 할 수 있습니다.