TIL 40 | JS - 원시값(Primitive Type)과 참조값(Reference Type)

Yonghyun·2021년 12월 10일
0

JavaScript & React

목록 보기
23/31
post-thumbnail

자바스크립트의 원시값과 참조값

자바스크립트는 원시타입과 참조타입 두가지의 자료형이 제공된다.

  • 원시 타입 - null, undefined, string, number, boolean, symbol
  • 참조 타입 - Array, Object, Function

원시 타입 데이터는?

  • 변수에 할당될 때 메로리 상에 고정된 크기로 저장되고 해당 변수가 원시 데이터의 값을 보관한다.
  • 원시 타입 자료형은 모두 변수 선언, 초기화, 할당시 값이 저장된 메모리 영역에 직접적으로 접근한다. 즉 변수에 새 값이 할당 될 때 변수에 할당된 메모리 블럭에 저장된 값을 바로 변경한다는 뜻이다.
  • 변수에 새로운 값을 할당하면 변수가 참조하는 메모리 공간의 주소가 바뀌게된다.
  • 값을 복사
// ex
var x = 100;
var y = x;
x = 99;
y; // 100;

참조 타입 데이터는?

  • 자바스크립트는 객체의 메모리를 직접 조작하지 않고, 해당 객체에 대한 '참조'를 조작한다. 따라서 객체를 가리키는 값은 '참조로 접근한다'라고 한다.
  • 크기가 정해져 있지 않고 변수에 할당될 때 값이 직접 해당 변수에 저장될 수 없으며, 변수에는 데이터에 대한 참조만 저장된다. 참조 타입은 변수의 값이 저장된 메모리 블럭의 주소를 가지고 있고, 자바스크립트 엔진이 변수가 가지고 있는 메모리 주소를 이용해서 변수의 값에 접근한다.
  • 값을 참조
// ex
var x = {const: 100};
var y = x;
x.count = 99;
y.count; // 99
profile
Life is all about timing.

0개의 댓글