[JS]원시자료형, 참조자료형
원시자료형
객체가 아니면서 method를 가지지 않는 타입
string, number, bigint, boolean, undefined, symbol, (null)
하나의 데이터만 담을 수 있고
다른 데이터를 할당할 수는 있다.
참조자료형
배열, 객체, 함수
하나가 아닌 여러 데이터가 담기게 된다
데이터가 위치한 주소가 변수에 저장된다.
데이터는 별도로 관리되고, 변수에는 주소가 저장되기 때문에 reference data type이라고 불린다. 이런 데이터 보관함을 heap이라고 부른다
참조 자료형 ===(strict equality)는 주소값이 같은지를 확인하기 때문에 같은 값이라도 주소가 다르면 false이다.
원시 자료형은 변수에 값(value) 자체가 할당되고, 참조 자료형은 보관함의 주소(reference)가 할당된다.
let one = [1, 2, 3, 4];
let two = one;
two[0] = 5;
일때 one[0] = 5; 이다. 같은 주소를 공유하고 있기 때문
let firstArray = [1, 2, 3, 4];
let firstArray = secondArray;
firstArray[2] = 25;
firstArray = undefined;
일때
firstArray에 원시 자료형 undefined가 할당되었기 때문에, secondArray에 접근할 수 없다. 하지만 secondArray는 그대로 [2, 3, 25, 5]이다.
댓글남기기