-
1. 데이터 타입의 종류 및 메모리 (bit, byte, memory)JavaScript/3주차-데이터타입, 실행컨텍스트, this 2023. 5. 25. 10:50
데이터 타입은 두가지로 나뉜다. 기본형과 참조형
기본형은 (Number, String, Boolean, null, undefined, Symbol) (Symbol은 ES6에서 추가됨) 이 있고
참조형은 Object의 하위요소로써 (Array, Funtion, Data, RegExp, Map, WeakMap, Set, WeakSet)이 있다.
참조형은 기본적으로 Object(객체)다.
참조형은 말 그대로 어떤 것을 참조하고 있다는 것.(어떤것을 바라보고 있다는 것, 크기가 크다)
기본형과 참조형을 나누는 기준은
1. 값의 저장방식 (값이 메모리에 어떻게 저장또는 복제 되느냐) 2. 불변성 여부 (값이 변하지 않냐/변하냐) 이다.기본형에서 재할당, 재선언이 되므로 변하는데, 왜 불변성을 띄냐고 생각할수 있는데,
여기서 '불변함'은 메모리 관점에서 봐야한다.
메모리에 대해 알아야 할 것. 1. 비트, 2.바이트, 3.메모리
1.비트(bit)
컴퓨터가 이해할수 있는 가장 작은단위. 0과 1을 가지고 있는 메모리를 구성하기 위한 작은 조각들.
이 작은 조각들이 모여서 메모리가 만들어진다.
2.바이트(byte)
0과 1만 표현하는 비트를 모두 찾기는 부담스러우므로, 비트를 8개 묶은 것이 바이트.
3.메모리(memory)
메모리는 바이트(byte)단위로 구성된다. 바이트 단위의 식별자인 메모리 주소값을 통해서 서로 구분이 된다.
ex) 64비트를 메모리에 저장하려면, 64비트를 8바이트로 묶어, 8개의 메모리에 저장한다.
모든 정수형은 8byte이다. (8bit 아님!)
식별자, 변수의 구분.
위에서 testValue는 식별자(변수명), 3은 변수(데이터)이다.
JavaScript는 정수형을 저장할 때 8byte를 사용하는 반면
Java에서는
byte, short, int, long 등의 키워드로 선언한다 (복잡하다.)
byte a = 8(1byte)
short a = 8(2byte)
int a = 8(4byte)
long a = 8(16byte)
이런식.
'JavaScript > 3주차-데이터타입, 실행컨텍스트, this' 카테고리의 다른 글
6. 실행 컨텍스트(스코프, 변수, 객체, 호이스팅), 콜 스택 (0) 2023.05.25 5. null과 undefined (0) 2023.05.25 4. 불변 객체 (깊은 복사 얕은 복사) (0) 2023.05.25 3. 변수 선언과 데이터 할당 (참조형 데이터) (0) 2023.05.25 2. 변수 선언과 데이터 할당 (기본형 데이터) (0) 2023.05.25