Javascript
깊은 복사, 얕은 복사
aaa222
2022. 1. 19. 07:39
728x90
큰 틀로 보면
깊은 복사(Deep Copy)는 '실제 값'을 새로운 메모리 공간에 복사하는 것을 의미
얕은 복사(Shallow Copy)는 '주소 값'을 복사한다는 의미
dppe copy :깊은복사
shallow copy : 얕은복사
dppe copy
let num1 = 1; //num1 이라는 변수를 1로 대입
let num2 = num1; num2라는 변수를 선언하고 num1을 대입했다.
num2 = 2; // num2를 2로 선언
console.log(num1,num2); //num: 1, num2: 2;
대입하는 순간 num1에 있는 1이라는 값을
num1이라는 값을 num2로 바꾸고 num2에는 1이라는 값이 들어가며
num2에 1이라는 값이 들어가며 num2를 2라는값으로 바꿧으니
num1 = 1이고 num2 = 2로 나온다
shallow copy
let y = 1;
let n = a;
n = 2;
console.log(y); // 1
console.log(n); // 2
console.log(y === n ); // false
y변수를 새로 n변수로 할당하여 n값을 변경해도 기존 y변수의 값은
변경되지 않고 두 값을 비교하면 false가 출력되며 서로의 값이 단독이라는 것을 알수있다
메모리로 보면 독립적으로 메모리 값 자체가 할당되어 생성된 것이라고 볼수있다.
728x90