[javascript] 원시자료형 / 참조자료형 (Primitive Type, Reference Type)
2022. 7. 11. 13:56ㆍ프론트엔드/Javascript
자바스크립트에서 원시자료형이 아닌 모든 것은 참조자료형이다.
원시자료형
String, number, bigint, boolean, undefined, symbol, (null) 이 있다
원시자료형과 참조자료형은 메모리에 할당되는 방식에 따라 달라지는데, 원시자료형의 경우 변수에 하나의 원시 자료형만 담을 수 있다.
let a = "hi"
a>> "hi"
let b = a
// a; "hi"
// b; "hi"
a = "bye"
// a; "bye"
// b; "hi"
원시자료형에는 각 변수간에 데이터를 복사하면 데이터가 복사되기 때문에 기존에 데이터에 영향이 가지 않는다.
참조자료형
String, number, bigint, boolean, undefined, symbol, (null) 을 제외한 모든 자료형으로 대표적으로 배열(array), 오브젝트, 함수등이 있다.
참조자료형에 저장된 값들은 Heap 이라는 메모리의 특별한 공간에 적용되는데 이 저장공간은 데이터에따라 동적으로 크기가 변하며, 변수에는 이 특별한 저장공간의 주소가 저장되게 된다.
let e = [10,20];
let f = e;
f[0] = 50;
e;
//>> [50,20]
참조자료형의 경우, 변수에 주소가 저장되므로 새로운 변수에 복사하게되면 값이 저장된 메모리의 주소가 할당된다. 새로 만든 변수에 값을 수정하면 원래 있던 값이 수정된다.
'프론트엔드 > Javascript' 카테고리의 다른 글
[javascript] 함수 (0) | 2022.06.24 |
---|---|
[javascript] typeof 연산자 (0) | 2022.06.24 |