본문 바로가기

TIL

기본형 데이터와 참조형 데이터의 차이

JS에서 값의 타입은 크게 기본형참조형으로 나뉜다.

 

데이터 타입
기본형 참조형
Number string Boolean null undefined Symbol Object
Array Function Date Reg
Exp
Map,
WeakMap
Set,
WeakSet

 

이 타입들의 구분 기준은 값의 저장방식불변성 여부이다.

* 이 때, 불변성 여부는 값이 불변하다가 아니라 "메모리" 관점에서 봐야 한다.

 

 

■  메모리 관점에서의 데이터 할당 

데이터가 변수에 할당 될 때 메모리에는 변수, 데이터 등 영역이 나뉘어져 있다.

 

(예시)

var a = 10; // 기본형

var obj = { c: 10, d: "ddd"}; // 참조형

변수영역 주소 1002 1003 1004 1005 1006
데이터 a / @5002 obj / @7103~        
데이터영역 주소 5002 5003 5004 5005 5006
데이터 10 "ddd"        
참조형 데이터의
별도 저장공간
(obj)
주소 7103 7104 7105 7106 7107
데이터 c / @5002 d / @5003        

* 참조형 데이터는 메모리의 별도저장공간(obj)이 필요하다.

 

  기본형데이터와 참조형데이터의 차이

→ 객체 변수 영역의 별도저장공간의 존재여부

* 이 별도 영역은 언제든지 변경이 가능하다. 따라서 참조형 데이터는 불변하지 않다.(=가변하다)

'TIL' 카테고리의 다른 글

배열 메서드 정리  (0) 2024.07.29
기초 IT 개념 정리  (0) 2024.07.27
객체 안의 값 꺼내기  (0) 2024.07.25
객체안에 속성 추가하기  (0) 2024.07.24
문자열 내 마음대로 정렬하기  (3) 2024.07.23