[Javascript] 배열과 객체 얕은복사/깊은복사

// 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 를 사용하면 된다.

단, 구형 브라우저에서는 실행이 되지 않을 수 있다.

Leave a Comment