[S1U10] 원시 자료형과 참조 자료형

개발일지·2022년 7월 11일
0
post-thumbnail

자료형 8가지

문자(string), 숫자(number), bigInt, 불린(boolean), undefined, null, 심볼(symbol), 객체(object)


원시 자료형(primitive data type)


위 자료형 중 객체형을 제외한 일곱 개는 오직 하나의 데이터(문자열, 숫자 등)만 담을 수 있어 '원시형(primitive type)'이라 부릅니다. (stack 영역에 저장)

'string', 42, true, false, undefined // 데이터가 "하나"의 정보를 담고 있습니다.

JavaScript에서 원시 타입의 데이터는 7 가지의 타입을 말합니다.

문자(string), 숫자(number), bigint, 불린(boolean), undefined, null, 심볼(symbol)

자주 사용하는 5가지 원시 자료형

string, number, boolean, undefined, null


참조 자료형(reference data type)


JavaScript에서 원시 자료형이 아닌 모든 것은 참조 자료형입니다. 배열([])과 객체({}), 함수(function(){})가 대표적입니다.
이런 자료형을 JavaScript에서는 참조 자료형(reference data type; 참조 타입)이라고도 부릅니다.

객체와 원시 타입의 근본적인 차이 중 하나는 객체는 ‘참조에 의해(by reference)’ 저장되고 복사된다는 것입니다.
원시값(문자열, 숫자, 불린 값)은 ‘값 그대로’ 저장·할당되고 복사되는 반면에 말이죠.

  • 원시 자료형이 할당될 때에는 변수에 값(value) 자체가 담기고, 참조 자료형이 할당될 때는 보관함의 주소(reference)가 담깁니다. (stack, heap)
  • 그래서 참조 자료형은 기존에 고정된 크기의 보관함이 아니라, 동적으로 크기가 변하는 특별한 보관함을 사용할 수 있습니다.

@ Reference

profile
Frontend Engineer

0개의 댓글