1-3-1 변수 선언

변수는 어떤 데이터가 담길 수 있는 메모리상의 그릇이다. 이 때 이 데이터는 변할 수 있다. 그렇기 때문에 변할 수 있는 값, 즉 변수라 부르는 것이다.

var a;

위의 명령에 따른 메모리 영역의 변화를 확인해보면 다음과 같다.

주소 1002 1003 1004 1005
데이터 이름: a
값:

1-3-2 데이터 할당

var a;
a = 'abc';

var a = 'abc';

변수 선언과 데이터 할당을 나누어서 표현하든 한꺼번에 표현하든, 자바스크립트 엔진은 동일한 작업을 수행한다.

<aside> 💡 데이터를 저장할 때는 변수를 저장한 공간과는 별도의 데이터 공간에 값을 저장한 후 그 주소값을 변수 공간에 저장한다.

</aside>

변수 영역 - 주소 1002 1003 1004 1005
변수 영역 - 데이터 이름: a
값: @0554
데이터 영역 - 주소 5002 5003 5004 5005
데이터 영역 - 데이터 'abc’
  1. 변수 영역에서 빈 공간(@1003)을 확보한다.
  2. 이 공간의 식별자(이름)를 a라 한다.
  3. 데이터 영역에 공간(@5004)을 마련하여 문자열 ’abc’를 저장한다.
  4. 사용자가 a에 접근하면 변수 영역에서 식별자 a를 검색한다(@1003).
  5. @1003의 영역에 @5004에 저장한 데이터의 값을 대입한다.