JavaScript

원시 자료형 6가지와 object - Javascript

파란배개 2020. 9. 16. 15:17

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와 원시 자료형의 근본적인 차이는 변수의 크기이다.