<원시자료형 primitive data types>
- 자바스크립트에서 원시 타입의 데이터
string, number, bigint, boolean, undefined, symbol, (null)
- 고정된 저장공간을 차지하는 데이터
- 하나의 정보 즉 데이터를 담고 있다.
- 데이터 보관함 한칸에 하나의 데이터만 넣을수있다.!!!
- 원시자료형의 보관함인 변수에는 하나의 데이터만 담는다!
- 값 자체에 대한 변경이 불가능하지만, 변수에 재할당을 하여 변수에 담긴 내용을 변경하는 것은 가능하다.
(기존데이터에 영향X)
let word = "hello world!"
word = "hello codestates!"
<참조자료형> reference data type
- 하나의 주제는 있지만 분명 서로 다르고, 여러개의 데이터를 가지고 있다.
- 자바스크립트에서 원시자료형이 아닌 모든것은 참조 자료형이다.
- 배열, 객체, 함수가 대표적이다.
- 참조자료형을 변수에 할당할때는 변수에 값이 아닌 주소를 저장한다. (주소는 heap에 연결되어있다)
- 주소를 복사하기때문에 기존데이터에 영향 O
- 참조자료형의 데이터 자체는 원시자료형이 보관되는 데이터 보관함이 아닌 특별한 데이터 보관함에 저장된다.
이 데이터가 위치한곳(메모리상 주소)을 가리키는 주소가 변수에 저장된다.
즉, 변수에는 특별한 데이터 보관함을 찾아 갈수있는 주소가 담겨있다
특별한 데이터 보관함을 heap 이라고 부른다.
특별한 데이터 보관함은 동적으로 크기가 변한다.
- 참조 자료형의 ===(strict equality)는 주소값이 같은지를 확인합니다.
- 참조한다: 그 변수의 주소를 참조하여 실제 변수가 있는 장소에 어떤 데이터가 있는지 도착하고 나서야 비로소 읽을수 있기 때문이다.
#원시자료형이 할당될때에는 변수에 값(value)자체가 담기고 (기존데이터에 영향X)
참조자료형이 할당될때는 보관함의 주소(reference)가 담긴다. (기존데이터에 영향O)
'부트캠프교육중 > JavaScript' 카테고리의 다른 글
[JavaScript] 스코프 (2) | 2023.01.02 |
---|---|
[JavaScript] 원시자료형과 참조자료형 문제 (0) | 2023.01.02 |
[JavaScript] for in 과 for of (0) | 2022.12.31 |
[JavaScript] 객체 (0) | 2022.12.31 |
[JavaScript] 배열 메서드 (0) | 2022.12.30 |