Bin's Blog

데이터 타입이란? 본문

JavaScript

데이터 타입이란?

hotIce 2023. 4. 25. 19:17
728x90

자바스크립트에서 데이터 타입은 기본형과 참조형으로 나뉜다. 각각의 차이점은 아래와 같다.

 

1. 기본형(원시형) 데이터 타입

- 종류: String, Number, BigInt, Boolean, Undefined, Null, Symbol 등이 있다.
- 값을 직접 저장하고, 값을 복사해서 사용한다.
- 값을 바꾸면, 새로운 값을 저장하는 새 공간이 생긴다. 원래 값은 안전하게 보관된다.

- 메모리 Stack 영역에 저장된다.
- 불변성: 기본형 데이터의 값을 변경하면, 새로운 메모리 공간에 변경된 값을 저장하고 변수에 새로운 주소를 할당한다. 기존의 값은 변경되지 않는다.

 

2. 참조형 데이터 타입


- 종류: Object, Array, Function 등이 있다.
- 값 대신 값이 저장된 곳의 주소를 저장하고, 그 주소를 사용한다.
- 메모리의 Heap 영역에 저장된다.
- 가변성: 참조형 데이터의 값이 변경되면, 동일한 메모리 주소에 변경된 값을 저장한다. 따라서 다른 변수가 동일한 객체를 참조하고 있다면, 그 변수들도 변경된 값을 볼 수 있다.

 

 

 

여기서 잠깐.... Stack과 Heap에 대해서 알고 가죠!!

 

컴퓨터에서 데이터를 저장할 때, 두 가지의 주요한 저장 공간을 사용한다. 이 공간을 Stack과 Heap이라고 부른다.

 

1. stack

- Stack은 책 쌓기랑 같다. 책을 한 권씩 차례대로 쌓고, 마지막에 쌓은 책부터 다시 가져와야 한다. 이렇게 책을 쌓고 가져오는 것처럼, Stack은 순서대로 데이터를 저장하고 사용한다.

- Stack에 저장되는 데이터는 주로 기본형 데이터이다.

- Stack은 빠르게 작동하고 정리가 잘 되어 있다.

 

2. Heap

- Heap은 방 안의 장난감 상자와 비슷하다. 상자 안에 장난감을 마음대로 넣고 뺄 수 있다. 이렇게 장난감을 넣고 빼듯, Heap은 자유롭게 데이터를 저장하고 사용할 수 있는 공간이다. 

- Heap에 저장되는 데이터는 주로 참조형 데이터이다. 

- Heap은 Stack보다 느리고 정리가 잘 안 되어 있지만, 더 큰 공간을 가지고 있다.

 

간단히 말해서, Stack은 깔끔하게 정리된 책장처럼 작동하고, Heap은 큰 장난감 상자처럼 작동한다. 이 두 공간은 컴퓨터가 데이터를 저장하고 관리하는 방법이다. 

 

728x90

'JavaScript' 카테고리의 다른 글

undefined와 null  (0) 2023.05.05
Map() 객체  (0) 2023.05.04
불변 객체  (0) 2023.05.03
JavaScript Array.map() 함수  (0) 2023.05.02
불변값과 가변값  (0) 2023.05.01