Java Script에서 데이터는 저장되는 방식에 따라 다음과 같이 2개의 유형으로 분류된다 :
- 원시 자료형(Primitive data type)
- 참조 자료형(Reference data type)
이번에는 각 자료형의 특징을 알아보자.
원시 자료형(Primitive data type)
- number, string, bigint, boolean, null, undefined, symbol 이 해당.
- 변수에는 오직 ‘하나'의 데이터만 저장된다(데이터 크기 무관).
- 데이터 자체는 변경이 불가능(immutable).
- 변수에 다른 데이터를 재할당은 가능 (하지만 const 사용 시, 재할당 불가).
- 값 자체를 저장 → 복사할 경우 기존 데이터는 영향받지 않는다.
참조 자료형(Reference data type)
- array, object, function 이 해당.
- 구현 배경 : 기존의 원시 자료형은 변수에 들어갈 수 있는 데이터 용량이 제한.
- 변수에는 데이터가 아닌 데이터가 위치한 주소가 저장된다.
- 변수의 주소를 참조(refer)하여 정보를 읽어 오는 방식.
- 데이터 보관 장소인 ‘heap’는 데이터의 크기에 따라 유동적으로 크기가 변한다(즉, 동적(dynamic)으로 변한다) → 데이터의 추가 및 삭제에 따라 크기 변동.
- 값 자체가 아닌 주소를 저장 → 복사할 경우 기존 데이터도 영향을 받을 수 있다.
- #유의사항
‘===’ 연산자 사용시 : 값의 비교가 아닌 ‘주소값'의 동일여부를 확인.
예)
[1, 2, 3] === [1, 2, 3] // false
'코딩' 카테고리의 다른 글
[Java Script / Browser] DOM (0) | 2022.05.17 |
---|---|
[Java Script] Koans 문제 풀이 (0) | 2022.05.16 |
[Java Script] 선언 방식 let, const, var의 비교 (0) | 2022.05.13 |
[Java Script] 조건문, 문자열 (0) | 2022.04.27 |
[Java Script] 변수, 타입, 함수 (0) | 2022.04.26 |