📝 요약
- 🆎 자바스크립트 데이터 타입은 기본형과 참조형이 있다.
- 변수: 데이터가 담기는 공간, 식별자: 변수의 이름
- 🔢 변수를 선언하면 ...
- 컴퓨터는 우선 메모리의 빈 공간에 식별자를 저장한다.
- 그 공간에 자동으로
undefined
를 할당한다.
- 이후 해당 변수에 기본형 데이터를 할당하려고 하면, 별도의 공간에 데이터를 저장한다.
- 그 공간의 주소를 변수의 값 영역에 할당한다.
- ⌨️ 참조형 데이터를 할당하면 ...
- 컴퓨터는 참조형 데이터 내부 프로퍼티들을 위한 변수 영역을 별도로 확보한다.
- 확보된 주소를 변수에 연결하고, 다시 앞서 확보한 영역에 각 프로퍼티의 식별자를 저장한다.
- 각 데이터를 별도의 공간에 저장해서, 그 주소를 식별자들과 매칭한다.
- 기본형과 다른 이유는, 참조형 데이터는 여러 개의 변수를 모은 그룹이기 때문이다.
- ❓ 참조형 데이터를 불변값으로 쓰고싶으면
- 내부 프로퍼티를 일일히 복사하기 (깊은 복사)
- 🈚 없음을 나타내는 값
udefined
- 어떤 변수에 값이 존재하지 않을 경우
null
- 사용자가 명시적으로 '없음'을 표현하기 위해 대입한 값
💾 데이터 타입의 종류
- 기본형
- 숫자, 문자열, 불리언, null, undefined
- 참조형
- 객체, 배열, 함수, 날짜, 정규식, Map 등등
어떤 방식으로 둘을 구분할까?
<aside>
💡 기본형은 값이 담긴 주솟값을 바로 복제하는 반면,
참조형은 값이 담긴 주솟값들로 이뤄진 묶음을 가리키는 주소값을 복제한다.
</aside>
기본형
메모리와 데이터
- 컴퓨터는 모든 데이터를 0과 1로 바꿔 기억한다.
- 0또는 1만 표현할 수 있는 메모리 조각을 비트라고 한다.
- 메모리는 매우 많은 비트들을 가지고 있다.
- 각 비트는 고유한 식별자를 통해 위치를 확인한다.