1. 원시자료형(primitive type data)
- number, string, boolean, null, undefined cf) bigint, symbol
- bigint란?
- Number 값이 나타낼 수 있는 2^53-1보다 큰 정수를 표현할 수 있는 내장 객체
- symbol이란?
- 값으로 익명의 객체 속성을 만들 수 있는 특성을 가진 원시 데이터 형식, 클래스나 객체 형식의 내부에서만 접근 가능
bigint symbol
- 하나의 변수에 하나의 데이터를 담는 자료형
- 데이터 보관함(변수) 안에는 ‘값’이 들어감
- 복사할 경우 값을 복사하기 때문에 원본에 영향x
- 고정된 크기 차지
- 값 자체 변경 불가, 재할당을 통해 다른 데이터 할당 가능(const로 선언된 변수는 불가)
2. 참조 자료형(reference type data)
- array, object, function 등
- 하나의 변수에 여러 개의 데이터를 담을 수 있는 자료형
- 힙(heap)이라는 빈 공간을 만들어 데이터 보관함(변수)에는 값 대신 ‘주소’를 넣고 힙에 연결
- 복사할 경우 주소를 복사하기 때문에 원본에 영향
- 데이터 크기가 동적으로 변하고 이 데이터는 힙 공간에 위치
- 즉, 변수에는 값이 아닌 주소가 담겨 있고 그 주소를 ‘참조’하여 실제 데이터를 찾기 때문에 참조 자료형이라 불림
- heap공간의 필요성
- 대량의 데이터를 효과적으로 다루기 위해(데이터의 크기에 따라 변화할 수 있도록)
- 주의: 참조 자료형의 strict equality(===)는 주소값을 비교함!