JavaScript

자바스크립트 데이터 타입

수연 (Suyeon) 2022. 11. 28. 23:16
반응형

데이터 타입 종류

자바스크립트에는 데이터 타입이 2가지가 있는데 기본형(Primitive)참조형(Reference)이다.

기본형 - Number, String, Boolean, null,  undefined, Symbol

참조형 - Array, Map, Set, Function

 

데이터 타입을 나눈 기준

타입을 나눈 기준은 무엇일까?

기본형 타입은 값을 가진 주소값을 가지고 있어서 복제됐을 때 복제된 값을 바꿔도 원본값은 변하지 않는다.

하지만 참조형 타입은 값이 담긴 주소값들로 이루어진 묶음을 가리키는 주소를 가지고 있다. 그래서 복제하고 복제값을 바꾸면 원본값도 같이 변경된다.

 

데이터는 어떻게 구분하는가

컴퓨터는 모든 데이터를 0과 1로 저장한다. 이 한 조각을 비트라고 한다. 비트는 고유한 식별자로 구분할 수 있는데

정수형 데이터는 8바이트를 사용한다. 1바이트는 8비트이므로 바이트도 역시 비트의 식별자로 위치를 구분할 수 있다.

즉, 비트의 식별자 다른 말로 메모리 주솟값으로 데이터들을 구분한다.

 

식별자와 변수의 차이점

위에서 식별자라는 말을 썼는데 식별자와 변수는 매우 비슷해 보이지만 다르다.

식별자는 어떤 데이터를 식별하는데 사용하는 변수명이고, 변수변할 수 있는 무언가를 의미한다.

 

데이터는 어떻게 저장되는가

데이터를 저장할 때 변수명과 값의 주소값이 저장되는 공간1값이 저장되어있는 공간2로 나누어진다.

이렇게 공간을 나눈 이유는

1. 데이터가 변경될 때 값이 저장된 공간의 값을 바꾼뒤 주소를 주는 것이 더 효율적이기 때문이고

2. 같은 값을 가진 여러 개의 변수를 만들 때 메모리 공간 활용을 더 효과적으로 하기 위해서이다.

2번 경우에서 만약 공간을 나누지 않았을 때 값이 5인 변수 500개를 만들자고 하면 메모리는 4000(500*8)바이트를 써야 하지만

공간을 나눴다면 주소값(2비트)만 주면 되기에 1008(500*2 + 8)만 사용하면 된다.

 

 

728x90

'JavaScript' 카테고리의 다른 글

객체 정렬하기  (0) 2022.12.01
가변 객체와 불변 객체  (0) 2022.11.30
백준 입출력 문제 풀기  (0) 2022.11.25
소수점 2자리 이하 만들기  (0) 2022.02.14
map 함수  (0) 2022.02.13