SEB FE 42_TIL
[JavaScript] 원시자료형과 참조자료형
김피치
2022. 11. 7. 14:15
원시자료형 (primitive data type)
- 객체가 아니면서 method를 가지지 않는 6가지 타입 (string, number, boolean, undefined, symbol, null)
- 각각 하나의 정보(데이터)를 가짐 (변수(데이터보관함) 하나에 원시자료형 하나만 담을 수 있음)
- 값 자체에 대한 변경 불가 (immutable) but 변수에 다른 데이터는 할당할 수 있다.
참조자료형 (reference data type)
- 원시자료형이 아닌 모든 타입 (배열, 객체, 함수)
- (원시자료형처럼 데이터보관함이 아닌) heap에 데이터를 저장하고, 변수에는 heap에 저장된 데이터의 주소만 저장된다
*heap의 사이즈는 동적으로(dynamic) 변화하는데, 대량의 데이터를 효율적으로 이용하기 좋음 (수정 편리)
'string' === 'string' // true
3.14 === 3.14 // true
[1, 2, 3] === [1, 2, 3] // false
{ a: 2 } === { a: 2 } // false
참조 자료형의 === (strict equality) 는 주소값이 같은 지를 확인한다.
예시 3,4번의 배열과 객체는 서로 내용물은 같아보이지만 별개의 heap 저장공간의 주소값을 가지고 있다.