- 데이터를 저장하는 방식에 따라 고정된 저장 공간을 차지하는 데이터를 원시자료형(primitive data type)이라고 합니다.
number
,string
,boolean
,null
,undefined
가 이에 속합니다.- 대량의 데이터를 다루기 위한 배열과 객체, 함수는 저장 공간이 계속 늘어날 수도 있습니다. 이러한 타입을 참조자료형(reference data type) 이라고 합니다.
string
, number
, bigint
, boolean
, undefined
, symbol
, null
)🎀 vs. 큐(Queue) : 스택과 다르게 먼저 들어온 것이 나가는 FIFO(First In First Out, 선입선출)의 구조를 가집니다. 한쪽 끝에서는 삽입연산을, 다른 한 쪽 끝에서는 삭제작업을 나누어 처리합니다. 대기 순서가 있는 경우에 이러한 구조가 쓰입니다.(은행업무, 프로세스 관리, 서비스센터 대기시간 등)
하나의 박스(변수) 안에는 데이터 크기와 관계없이 하나의 원시자료형 데이터만 담을 수 있습니다. 때문에 박스의 크기는 고정되고, 어느 정도 일정한 크기의 데이터가 온다고 예상할 수 있습니다.
원시 값 자체와 원시 값을 할당한 변수는 다릅니다. 모든 원시 값은 불변하여 자체에 대한 변경이 불가능하지만 변수는 다른 데이터를 할당할 수 있습니다.(메모리의 관점에서 생각해봅시다.)
🎀 Garbage collection
Heap 영역에서 동적으로 할당했던 메모리 영역 중 필요 없게 된 메모리 영역을 주기적으로 삭제하는 프로세스를 말합니다.
[ ]
), 객체({ }
), 함수(function( ){ }
)가 대표적인 참조자료형입니다.참조자료형은 데이터가 위치한 메모리 주소를 변수에 저장합니다. 그 주소를 따라가 보면 사이즈를 늘였다가 줄렸다가 하는, 동적인 데이터 보관함 'heap' 이 있습니다. 즉 데이터를 별도로 관리하고 변수에는 주소가 저장되어 "참조"자료형 이라고 부릅니다.
원소를 추가하거나 빼도, 주소지에서 처리하므로 값을 찾을 때 복잡해 지지 않습니다.