개발 보석함

[Javascript] 원시타입(primitive type)과 참조타입(reference type)

by hiSon

자바스크립트에서 데이터는 크게 원시 타입과 참조 타입으로 나눌 수 있다.

원시 타입

변수에 할당될 때, 메모리의 고정된 크기로 스택 영역에 저장되고 해당 변수는 원시 데이터의 값을 보관한다.

값이 절대 변하지 않는 불변값이기 때문에 재할당 시 기존 값이 변하는 것처럼 보여도 새로운 메모리에 재할당한 값이 저장되고 변수가 가리키는 메모리가 달라졌을 뿐이다.

참조 타입

원시 타입을 제외한 모든 것이 참조 타입이라고 할 수 있다.

참조 타입 데이터는 크기가 정해져 있지 않고 변수에 할당될 때 값이 직접 해당 변수에 저장되는 것이 아니라, 변수의 값이 저장된 힙 메모리의 주소 값을 저장한다.

따라서 참조 타입은 변수의 값이 저장된 메모리 블록의 주소를 가지고 있기 때문에, 변수가 가지고 있는 메모리 주소를 이용해서 변수의 값에 접근한다.

참조 타입은 주소 값을 참조하기 때문에, 원본 데이터의 값이 바뀌면 복사한 데이터의 값도 변경된다.

 

참고

https://cocobi.tistory.com/155

블로그의 프로필 사진

블로그의 정보

개발 보석함

hiSon

활동하기