프론트엔드/[언어] 자바스크립트
코어 자바스크립트 [1] - 데이터 타입
도툐리
2024. 2. 26. 11:13
1. 데이터 타입 종류
자바스크립트에서 데이터는 크게 기본형(Primitive)과 참조형(Reference) 데이터 타입으로 나뉩니다.
이 둘 사이의 주요 차이는 데이터가 메모리에 저장되고, 변수에 할당되며, 그리고 다른 변수로 복사될 때 어떻게 처리되는지에 있습니다.
기본형 데이터 타입(Primitive Data Types)
기본형 데이터 타입에는 숫자(Number), 문자열(String), 불리언(Boolean), null, undefined, 심볼(Symbol), 그리고 ES2020에서 도입된 BigInt 등이 있습니다. 이들은 다음과 같은 특징을 가지고 있습니다:
- 값이 직접 저장됩니다: 변수에 기본형 데이터를 할당하면, 메모리에는 그 값 자체가 저장됩니다.
- 값에 의한 복사(Value Copy): 변수에서 다른 변수로 기본형 데이터를 복사할 때, 실제 값이 복사됩니다. 이는 복사된 값이 원본 변수의 값과 완전히 동일한 새로운 데이터가 된다는 것을 의미합니다. 원본 값을 변경해도 복사된 값에는 영향을 미치지 않습니다.
참조형 데이터 타입(Reference Data Types)
참조형 데이터 타입에는 객체(Object), 배열(Array), 함수(Function), 그리고 기타 비기본형 데이터 구조가 포함됩니다. 참조형 데이터의 특징은 다음과 같습니다:
- 주소에 의한 접근: 변수에 참조형 데이터를 할당하면, 실제 데이터는 메모리의 어딘가에 저장되고, 변수에는 그 데이터가 저장된 메모리 주소(참조)가 저장됩니다. 즉, 변수는 데이터 자체가 아니라 데이터가 저장된 위치를 가리키는 주소를 담고 있습니다.
- 참조에 의한 복사(Reference Copy): 참조형 데이터를 다른 변수로 복사할 때, 복사되는 것은 데이터 자체가 아니라 데이터가 저장된 주소입니다. 이는 두 변수가 메모리 상의 동일한 데이터 위치를 가리키게 된다는 것을 의미합니다. 따라서 한 변수를 통해 데이터를 변경하면, 같은 데이터를 가리키는 다른 변수에도 그 변경이 반영됩니다.
간단히 말해서, 기본형 데이터는 값 자체를 복사하는 반면, 참조형 데이터는 데이터가 저장된 메모리 주소를 복사한다는 것입니다. 기본형은 변수 간에 완전히 독립적인 반면, 참조형은 여러 변수가 메모리 상의 같은 데이터를 공유할 수 있습니다.
2. 데이터 타입 관련 배경지식
8 bit = 1 byte (2^8 개의 값 표현 가능)
- 각 비트는 고유한 식별자를 통해 위치 확인 가능
- 바이트 역시 시작하는 비트의 식별자로 위치를 파악할 수 있음
변수와 식별자
- 변수 (=variable) : 변할 수 있는 데이터. 변경가능한 데이터가 담길 수 있는 공간 또는 그릇
- 식별자 (=identifier) : 변수명. 어떤 데이터를 식별하는데 사용하는 이름
3. 변수 선언과 데이터 할당