728x90
얕은 복사 | 깊은 복사 |
객체의 참조값(주소값)을 복사 | 객체의 실제 값을 복사 |
참조값을 복사할 때 변수가 객체의 참조를 가르키고 있고, 복사된 변수 또한 같은 것을 가르키고 있기에 하나의 값을 바꿔주게 되면 기존의 값도 영향을 받아 변경 | 원시 값을 복사 할때, 아예 독립적인 메모리 공간에 할당하기 때문에, 원시 값에는 영향이 없음 |
// 얕은 복사
const a = {
num : 1,
string : "dog"
}
let b = a;
console.log(a); // {num : 1, string : "dog"}
b.num = 2;
b.string = cat;
console.log(a); // {num : 2, string : "cat"}
cossole.log(b); // {num : 2, string : "cat"}
// 깊은 복사
const a = 'a'
let b = 'b'
b = 'c'
console.log(a); // a
console.log(b); // c
728x90
'항해 일지' 카테고리의 다른 글
Node.js === single-thread || multiple-thread?? (0) | 2022.12.19 |
---|---|
JWT (0) | 2022.12.19 |
동시성과 병렬성 (0) | 2022.12.19 |
call by value 와 call by reference (0) | 2022.12.19 |
프로세스, 스레드 (0) | 2022.12.19 |