// 1. 스프레드 연산자 사용 (얕은 복사)
const originalArray = [1, 2, 3];
const copiedArray1 = [...originalArray];
// 2. slice() 메서드 사용 (얕은 복사)
const copiedArray2 = originalArray.slice();
// 3. JSON 방식 사용 (깊은 복사)
const copiedArray3 = JSON.parse(JSON.stringify(originalArray));
// 4. Array.from() 사용 (얕은 복사)
const copiedArray4 = Array.from(originalArray);
// 1. 스프레드 연산자 사용 (얕은 복사)
const originalObj = { name: '김철수', age: 25 };
const copiedObj1 = { ...originalObj };
// 2. Object.assign() 사용 (얕은 복사)
const copiedObj2 = Object.assign({}, originalObj);
// 3. JSON 방식 사용 (깊은 복사)
const copiedObj3 = JSON.parse(JSON.stringify(originalObj));
// 4. structuredClone() 사용 (깊은 복사, 최신 브라우저)
const copiedObj4 = structuredClone(originalObj);
배열과 객체 상관없이 간단하게 깊은 복사를 하려면 structuredClone 를 사용하면 된다.
단, 구형 브라우저에서는 실행이 되지 않을 수 있다.