고정된 저장 공간을 차지하는 데이터를 원시 타입(primitive type) 데이터라고 한다.
저장공간이 유동적으로 늘어나는 데이터 타입을 주소 타입(reference type) 데이터라고 한다.
자바스크립트에서 원시 타입의 데이터는
객체가 아니면서 method를 가지지 않는 6가지의 타입이다.
string, number, bigint, boolean, undefined, symbol, (null)
const num1 = 123;
const num2 = 123456789;
변수에는 데이터의 크기와는 관계없이 하나의 데이터만 담을 수 있다.
원시 자료형은 값 자체에 대한 변경이 불가능(immutable)하지만,
변수에 다른 데이터를 할당할 수는 있다.
참조 자료형의 데이터는 원시 자료형이 보관되는 데이터 보관함이 아닌 특별한 데이터 보관함에 저장된다
변수에는 특별한 데이터 보관함을 찾아갈 수 있는 주소가 담겨있고,
이 주소를 따라가 보면 특별한 데이터 보관함을 찾을 수 있는데,
이 특별한 데이터 보관함에서는 자기 마음데로 사이즈를 늘렸다가 줄였다가 할 수 있다.
이처럼 데이터는 별도로 관리되고,
우리가 직접 다루는 변수에는 주소가 저장되기 때문에 reference type이라고 불린다.
이런 특별한 데이터 보관함을 heap이라고도 부른다.
const num=[1,2,3,4];
const num={'0':0,'1':1,'2':2};
//변수에 할당을 했지만 데이터가 할당된 것이 아닌 데이터의 주소가
//변수에 할당된다.
'Javascript' 카테고리의 다른 글
javascript 고차함수 (filter, map, reduce) (0) | 2020.12.27 |
---|---|
javascript 클로저 (0) | 2020.12.27 |
javascript 객체 (0) | 2020.12.14 |
javascript 배열 (0) | 2020.12.14 |
javascript 반복문 (0) | 2020.12.14 |
댓글