Primitive type vs Reference type

박찬효·2022년 10월 5일
0
post-custom-banner

Primitive type

Primitive type(원시 타입 데이터)

  • 변수에 할당될 때 메모리 상에 고정된 크기로 저장되고 해당 변수가 원시 데이터의 값을 보관합니다.

  • 원시 타입 자료형은 모두 변수 선언, 초기화 , 할당시 값이 저장된 메모리 영역에서 직접적으로 접근한다, 즉 변수에 새 값이 할당 될 때 변수에 할당된 메모리 블럭에 저장된 값을 바로 변경한다는 뜻을 가지고 있습니다.

  • 변수에 새로운 값을 할당하면 변수가 참조하는 메모리 공간의 주소가 바뀌게 됩니다.

  • 값을 복사합니다.

원시타입

let a= 1;
b = a;
a = 3;

console.log(a) // 3
console.log(b) // 1

각 변수 간에 원시타입 데이터를 복사할 경우 데이터의 값이 복사됩니다.

Reference type

Reference type(참조 타입 데이터)

  • 자바스크립트는 객체의 메모리를 직접 조작하지 않고, 해당 객체에 대한 '참조'를 조작합니다. 따라서 객체를 가리키는 값은 '참조로 접근한다'라고 합니다.

  • 크기가 정해져 있지 않고 변수에 할당될 때 값이 직접 해당 변수에 저장될 수 없으며, 변수에는 데이터에 대한 참조만 저장됩니다.

  • 참조 타입은 변수의 값이 저장된 메모리 블럭의 주소를 가지고 있고, 자바 스크립트 엔진이 변수가 가지고 있는 메모리 주소를 이용해서 변수의 값에 접근합니다.

  • 값을 참조합니다

참조 타입

let a = {name: "철수", age: 12};
b = a;
a.name = "훈이"

console.log(a) // {name: "훈이", age: 12};
console.log(b) // {name: "훈이", age: 12};

b에 a가 들어있다고 생각하는게 아닌 b가 a를 가르키고 있다(참조하고 있다)고 생각해야합니다.
각 변수 간에 참조 타입 데이터를 복사할 경우 데이터의 참조가 복사됩니다.

profile
개발자가 되기 위한 1인
post-custom-banner

0개의 댓글