Shallow Copy & Deep Copy

Yeeeeeun_IT·2022년 8월 26일
0

스프레드 연산자

객체를 복사를 해올 수 있는 도구 스프레드 연산자는 ES6문법으로 배열, 객체등의 개별 요소를 각각 복사해와 분리해주는 메서드이다.

Shallow Copy

얕은복사란 객체를 속성값으로 갖는 객체의 경우 한단계까지만 복사한다.
얄은 복사는 '주소' 즉 값의 위치를 복사하는 것이다.(값의 메모리 주소 참조)
새로운 인스턴스를 생성하지 않아 깊은 복사보다 빠르다.

Deep Copy

깊은복사란 객체에 중첩되어 있는 객체까지 모두 복사하는 것을 말한다.
얕은 복사와 달리 주소값이 아닌, 데이터 값 자체를 모두 복사하는 것이다.
복사된 데이터는 새로운 메로리를 차지하게 된다.

중접객체의 깊은 복사

const me = {
	name : "영희",
	info : {
		nickname : "공주",
		mbti : "INTJ",
		age : 22
	}
}

const copyMe = {...me,info:{...me.info}}
console.log(copyMe)
// 결과 
// copyMe = {
//	name : "영희",
//  info : {
//	nickname : "공주",
//	mbti : "INTJ",
//	age : 22
//	}
// }

// 깊은복사  확인
copyMe.info.nickname = "핑크공주"

console.log(copyMe.info.nickname) // "핑크공주"
console.log(me.info.nickname)  // "공주"
profile
🍎 The journey is the reward.

0개의 댓글