Javascript 자료형은 크게 두 가지 타입으로 나누어 집니다. 바로 Primitive Type(원시자료형 타입), Reference type(참조자료형 타입)입니다. 두 타입 모두 선언, 할당 과정을 거친다는 점에서는 동일하지만, 차이점이 분명 있습니다. 이 둘의 차이점은 무엇일까요?
바로 할당
과정에서 차이가 있습니다.
할당 시, Primitive Type
은 값(value) 자체를 할당하지만, Reference Type
은 값이 저장되어 있는 주소(address)를 할당합니다.
고정된 저장 공간을 차지하는 데이터를 말합니다. Primitive type에는 객체가 아니면서 메소드를 가지지 않는 6가지 타입이 존재합니다. (string, number, bigint, boolean, undefined, symbol, (null))
✅ Primitive type의 특징
1. 원시 자료형의 보관함인 변수에는 하나의 원시 자료형만 담을 수 있습니다.
(변수는 어떤 정보를 담는 하나의 그릇, 이 그릇에 어떤 정보를 담는 것이 할당입니다.)
2. 값 자체에 대한 변경이 불가능하지만, 변수에 다른 데이터를 할당할 수 는 있습니다.
Javascript에선 원시자료형이 아닌 모든 것을 말합니다. 대표적인 예로 배열, 객체, 함수가 있습니다.
array: [0,1,2,3,4]
object: object{name:"hanamon",age:16}
function :
즉, 변수에는 하나의 값 혹은 주소만 저장 가능
✅ Reference type의 특징
1. 변수에 할당할 때는 변수에 값이 아닌 주소를 저장합니다.
2. heap이라는 별도의 메모리 저장 공간을 사용합니다.
3. 하나의 데이터가 아닌 여러 데이터가 담기게 됩니다.