하나의 변수에 하나의 값을 할당 하는 것.
객체가 아니면서 method를 가지지 않는 6가지의 타입 - string, number, bigint, boolean, undefined, symbol, (null)
*원시타입데이터는 각 변수간에 원시타입을 복사 할 경우, 데이터 값이 복사되기 때문에 기존 데이터에 영향이 안감.
ex)
let a = 1
b = a
b = 2
a; // 1
원시자료형은 값 자체에 대한 변경이 불가능 하지만 변수에 다른데이터를 할당 할 수 있다.
ex)
let a = 123
a = 12345 // let 키워드는 재할당 가능
ex)
const a = 123
a = 12345 // const 키워드는 재할당 불가능 에러 발생
하나의 변수에 값대신 주소를 입력 (heap)
주소는 heap이라는 공간에 연결 -> 주소 값에 연결
배열([])과 객체({}), 함수(function(){})가 대표적
참조타입은 주소를 복사하기 때문에 복사한 데이터에서 원소를 변경하게 되면 주소안의 데이터가 변경이 되기 때문에 기존의 데이터에도 영향이 간다.
ex)
let e = [10,20];
let f = e;
f[0] = 50; // 변수 e 안의 배열 요소 변경
e; // [50,20]
- 추가
Brigint - Number 원시 값이 안정적으로 나타낼 수있는 최대치인 2의 53승 -1보다 큰 정수를 표현 할 수 있는 내장 객체(아주 큰수 다루.. 는 ? 찾아보래서 찾아봤는데 이건 아직 먼지 모르겠다.)
null - 원시타입과 거의 같게 사용, 하지만 원시타입은 아님.
stak overflow - 스텍이 할당된 공간보다 많은 공간을 차지하면 발생하는 에러.