string, number, bigint, boolean, undefined, symbol
원시 자료형의 특징
값의 크기와 관계없이 변수의 크기(메모리에서 차지하는 공간)이 고정(Fixed)되어 있다.
*주의
'hello', 123, 456n, true와 같은 원시 자료형 그 자체와 원시 자료형이 담긴 변수가 다름을 숙지해야 한다!
원시 자료형의 데이터가 저장되는 공간 (stack)
1 | num | 123
2 | msg | "hello"
3 | arr | heap의 12번부터 3개 // (실제 데이터가 저장되어 있는 주소)
4 |isOdd| true
=====================================
Object 자료형의 데이터가 저장되는 공간 (heap)
10 ||
11 ||
12 || 1
13 || 2
14 || 3
원시 자료형이 아닌 나머지는 모두 object이다.
object는 변수의 크기(값의 크기가 아님)가 동적으로 변한다.
변수가 선언되면 object의 데이터는 heap이라는 메모리 공간으로 이동되고 이 메모리 공간에 저장된 변수의 위치 주소가 변수에 저장된다.
때문에 우리가 다루는 변수는 저장된 주소를 가리키는(refer) 참조(reference)라고 불리는 것이다.
이 object와 원시 자료형의 근본적인 차이는 변수의 크기이다.
'JavaScript' 카테고리의 다른 글
assign()-Javascript (0) | 2020.09.16 |
---|---|
arr.pop() - Javascript (0) | 2020.09.16 |
함수 선언식과 함수 표현식 그리고 호이스팅 - Javascript (0) | 2020.09.16 |
호이스팅과 클로저는 무엇인가? - JavaScript (1) | 2020.09.16 |
const 키워드와 선언 - Javascript (0) | 2020.09.16 |