자바스크립트에서 원시 타입의 데이터는 객체가 아니면서 method를 가지지 않는 6가지의 타입
string, number, bigint, boolean, undefined, symbol, (null)을 말합니다.
원시 자료형의 보관함인 변수에는 하나의 원시 자료형만 담을 수 있습니다.
변수에는 하나의 데이터만 담습니다.
ex)
const num1 = 123;
const num2 =123456;
// 이렇게 변수에는 데이터의 크기와는 관계 없이 하나의 데이터만 담을 수 있습니다.
// 원시 자료형은 값 자체에 대한 변경이 불가능 하지만, 변수에 다른 데이터를 할당 할 수는 있습니다.
"hello world!"
"hello codestates!"
// "hello world!" 와 "hello codestates!"는 모두 변경할 수 없는 고정된 값입니다.
let word = "hello world!"
word = "hello codestates!"
// 하지만, word라는 변수에 재할당을 하여 변수에 담긴 내용을 변경은 가능합니다.
const num1 = 123;
num1 = 123456789; // 에러 발생
// const 키워드로 선언하면, 재할당은 불가합니다.
자바스크립트에서 원시 자료형이 아닌 모든 것은 참조 자료형입니다. 배열([])과 객체({}), 함수(function(){})가 대표적입니다.
변수에는 특별한 데이터 보관함을 찾아갈 수 있는 주소가 담겨져 있고, 이 주소를 따라가보면 특별한 데이터 보관함을 찾을 수 있는데, 이 특별한 데이터 보관함은 동적으로 변합니다. 이런 특별한 데이터 보관함을 heap라고도 부릅니다.