blog-imgDucklog

변수 복사

변수 복사

변수 복사가 어떤 과정으로 이루어지는지에 관한 글이다.

변수 복사 과정 예시 코드
var a = 10;
var b = a;

var obj1 = { c: 10, d: 'ddd' };
var obj2 = obj1;

참조형 데이터 객체에 대한 변수 선언 및 할당 과정

기본형 데이터

  • 1번째 줄에서는 변수 영역의 빈 공간 @1001을 확보하고 식별자 a로 지정.

  • 숫자 10을 데이터 영역에서 검색하고 없으므로 빈 공간 @5001에 저장한 다음, 이 주소를 @1001에 넣음

  • 기본형 데이터에 대한 변수 선언 및 할당 종료

복사 할 차례

  • 변수 영역의 빈 공간 @1002를 확보하고 식별자 b로 지정함

  • 식별자 a를 검색해 그 값을 찾은 후 @1001에 저장된 값인 @5001를 @1002의 값으로 대입

참조형 데이터 차례

  • 4번째 줄에서는 변수 영역의 빈 공간 @1003를 확보하여 식별자 obj1로 지정함

  • 데이터 영역의 빈 공간 @5002를 확보하고, 데이터 그룹이 담겨야 하기 때문에 별도의 변수 영역 @7103을 확보한 후 주소를 저장함

  • @7103에는 식별자 c를, @7104에는 식별자 d를 입력한 다음, c에 대입할 값 10을 데이터 영역에서 선택

  • @5001에 저장되어 있으므로 주소를 @7103에 연결

  • 문자열 'ddd'는 데이터 영역의 빈공간에 새로 만들어져 @7104에 연결

  • 변수 영역의 빈 공간 @1004를 확보하고 식별자를 obj2로 지정

  • 식별자 obj를 검색한 후 그 값인 @5002를 들고 @1004에 값으로 대입함