자바 스크립트(java script)/개념 조각

변수는 데이터 그 자체가 아니다?

lamarcK 2025. 3. 23. 00:17

변수는 데이터 그 자체가 아니다.

변수는 메모리 상의 특정 위치를 가리키는 이름표와 같다.

이 이름표는 데이터가 저장된 메모리 주소를 담고 있으며, 이 주소를 통해 데이터에 접근할 수 있다.

 

 

변수와 데이터의 관계:

  1. 원시 타입 (Primitive Types):
    • string, number, boolean, null, undefined, symbol, bigint과 같은 원시 타입의 경우, 변수는 값 자체를 저장하는 것처럼 보일 수 있습니다.
    • 하지만 실제로는 변수가 값의 메모리 주소를 저장하고, 이 주소를 통해 값에 접근합니다.
  2. 객체 타입 (Object Types):
    • object, array, function과 같은 객체 타입의 경우, 변수는 객체 자체를 저장하는 것이 아니라 객체가 저장된 메모리 주소를 저장합니다.
    • 변수는 객체에 대한 참조(reference)를 저장하고, 이 참조를 통해 객체에 접근합니다.
let Number01 = 10;
let Number02 = 10;

 

let Number01 = 10;
let Number02 = 20;

 

따라서 변수 2개에 각각 10과 20을 할당하는 경우와 10만 할당하는 경우는 최적화에 따라 메모리 차지 방식이 다를 수 있다.

값이 동일한 경우, 자바스크립트 엔진의 최적화에 의해 10은 한번만 메모리에 저장되고, 참조를 통해 해당 값을 반환하는 방식으로 사용 될 수 있다. 하지만 10, 20처럼 다른 값을 참조하려면 두 값을 별도의 메모리 공간에 저장 해야한다. 따라서 메모리 차지 용량은 후자가 전자보다 클 가능성이 높다.

'자바 스크립트(java script) > 개념 조각' 카테고리의 다른 글

undefined, null  (0) 2025.03.24
구조 분해 할당  (0) 2025.03.24
data-* 속성 및 dataset 속성에 대한 정리  (0) 2025.03.22
메모리 구조  (0) 2025.03.22
함수와 메서드(method)란?  (0) 2025.03.21