데이터 타입이 나뉘는 “이유”가 무엇이고 “어떤 차이”가 있는지, 각 데이터가 메모리 상에서 저장되는 형태를 통해서 알아보자!

1-1. 데이터 타입에는 “기본형”과 “참조형”으로 나뉨

기본형 - Number
- String
- Boolean
- null
- undefined
- Symbol
참조형 - Array
- Function
- RegExp
- Set / WeakSet
- Map / WeakMap

참고

1-2. 데이터 할당의 순서

기본형 데이터

참조형 데이터

<aside> 🔍 참조하고 있는 대상이 없는 경우 = 참조 카운트가 0

: 가비지 컬렉터의 수집 대상이 됨

</aside>

1-3. 왜 값을 주소로 저장하는 것일까?

<aside> 🔍 컴퓨터는 자신이 이해할 수 있는 이진법 숫자들로 전환한 다음에야 비로소 메모리에 저장을 함

</aside>

값을 직접 저장 vs 값을 주소로 저장

Untitled

값을 직접 저장하는 방식 값을 주소로 저장하는 방식
데이터 할당 속도 빠름 느림
비교 비용 많이 듬 비용 들지 X
메모리 효율 메모리 낭비가 심함 메모리 비용 최적화

값을 주소로 저장한다는 것은

같은 값이 오직 하나만 존재한다는 것이며, 불변값!임