본문 바로가기

자바스크립트/기초

원시 자료형과 참조 자료형(Primitive type & Reference type)

이미지 출처: https://www.bccfalna.com/primitive-and-reference-values/

원시 자료형(primitive data type)

객체가 아니면서 method를 가지지 않는 6가지의 타입:

number, string, bigint, boolean, null, undefined;

 

number: 숫자 2

string: 문자열  "hi"

bigint: 이의 제약 없이 정수를 다룰 수 있게 해주는 숫자형

boolean: true false

undefined: 값이 할당되지 않았을 때

symbol: 심볼

(null): 비어있음을 뜻합니다. 값을 고의적으로 비어있게 만들 수 있습니다.

 

bigint 참고자료: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/BigInt

 

BigInt - JavaScript | MDN

BigInt는 Number 원시 값이 안정적으로 나타낼 수 있는 최대치인 253 - 1보다 큰 정수를 표현할 수 있는 내장 객체입니다.

developer.mozilla.org

https://ko.javascript.info/bigint

 

BigInt

 

ko.javascript.info

원시 자료형의 보관함인 변수에는 하나의 원시 자료형만 담을 수 있습니다.

변수는 어떤 정보를 담는 하나의 그릇이고 이 그릇에 어떤 정보를 담는 것이 할당입니다.

원시 자료형은 값 자체에 대한 변경이 불가능 (immutable)하지만, 변수에 다른 데이터를 할당할 수는 있습니다.

 

참조 자료형(reference data type)

참조 자료형은 원시 자료형이 아닌 모든것:

array, object, function;

 

array: 배열 [1,2,3]

object: 객체 { name: 'pizzahand', age: 29 }

function: 함수

 

참조 자료형을 변수에 할당할 때는 변수에 값이 아닌 주소를 저장합니다. 

참조 자료형은 heap이라는 별도의 메모리 저장 공간을 사용합니다.

참조 자료형에는 하나의 데이터가 아닌 여러 데이터가 담기게 됩니다.

 

원시 자료형이 할당될 때에는 변수에 값(value) 자체가 담기고, 참조 자료형이 할당될 때는 보관함의 주소(reference)가 담깁니다.

그래서 참조 자료형은 기존에 고정된 크기의 보관함이 아니라, 동적으로 크기가 변하는 특별한 보관함을 사용할 수 있습니다.

 

 

반응형

'자바스크립트 > 기초' 카테고리의 다른 글

객체, 배열 코딩앙마 유튜브 정리  (1) 2021.05.29
스코프와 클로저  (3) 2021.05.29
객체(Object)  (0) 2021.05.26
배열  (1) 2021.05.25
Number()&parseFloat() & parseInt()  (2) 2021.05.23