본문 바로가기
JavaScript

JavaScript, 기본형 데이터와 참조형 데이터

by nacjji 2022. 11. 18.

- 자바스크립트의 타입에는 크게 기본(원시)형 데이터와 참조형 데이터가 있다. 

기본형 데이터

- 기본형 자료형은 값을 그대로 할당한다. 

- 기본형 데이터는 Number, String, Boolean, null, undefined , Symbol 이 있다. 

- 기본형 데이터는 컴퓨터의 메모리 영역에서 변경이 불가능하지만, 재할당은 가능하다. 

- 값이 변수에 할당될 대 컴퓨터는 메모리의 고정 크기로 원시 값을 저장하고 해당 저장된 값을 변수가 직접 가리킨다. 

- 재할당을 할 시 기존 값이 변하는게 아니라 새로운 메모리에 재할당한 값이 저장되고 변수가 가리키는 메모리가 달라진다. 

- 코드를 통해 이해하보자. 

let a = 1
let b = 2

a = b
b = 1
console.log(a) // 2
→ 2

- a에 b를 재할당 할 시 b의 값 2가 a 에 재할당 되었다. 

- 재할당을 한 후 b의 값에 1을 재할당해도 a에는 영향을 끼치지 않고 2가 출력되었다. 

 

 

 

참조형 데이터

- 참조형 데이터는 값이 저장된 주소값을 할당한다.

- 참조형 데이터는 대표적으로 객체(Object)가 있고 배열(Array), 함수(Function), 정규표현식(RegExp), Map, Set, WeakMap, WeakSet이 있다. 

- 기본형 데이터는 값을 직접 할당하지만 참조형 데이터는 데이터의 값이 저장되어있는 주소값을 할당한다. 

- 기본형 데이터처럼 변수를 선언할 때 데이터를 저장할 공간을 확보하는 것은 동일하나 값을 저장하는 것이 아닌 주소값을 저장한다는 것에서 차이가 있다.