원시타입(Primitiv type)과 참조타입(Reference type)

devMarco·2022년 4월 3일
0

용어정리

목록 보기
2/2

자바스크립트의 변수 타입에는 크게 두가지가 있다.
원시타입(Primitiv type)과 참조타입(Reference type) 두 가지가 있는데 어떤 차이가 있는지 알아보자.

각 타입의 가장 확실한 차이점은 원시타입은 메모리에 직접 저장을 하고, 참조타입은 메모리가 아닌 따로 주소를 만들어 저장을 한다.
같은 저장인데 왜 두가지로 나누는 것일까? 이유는 원시타입은 불변성(immutable)을 가지고 있다 (string, number, bigint, boolean, undefined, ES6 부터 추가된 symbol) 원시타입은 변수에 할당 된 값이 메모리에 저장이 되고 또한 값이 절대 변하지 않는다. 재할당시 저장 값이 변하게 아니고 새로운 메모리에 값을 저장한다. 원시 타입이 많아지면 데이터를 많이 차지하게 된다.

참조타입은 메모리가 가닌 객체의 키값에 따로 부여되는 주소에 저장이 된다.
객체는 kye : value의 형식으로 구성되어져 있는데 여기서 key에 주소가 부여가 된다. 이 말인 즉슨 밸류에 접근을 할려면 밸류에는 따로 할당 된 주소가 없기 때문에 key로 접근을 해야 value에 값을 가져올 수 있다. 참조타입을 사용 하는 이유는 객체에서는 많은 양의 값을 가지고 value가 계속 바뀔 수 있기 때문에 사용한다. 객체의 모든 내용을 메모리 저장하면 모든 메모리는 객체들이 차지 할 수도 있다.

0개의 댓글