기본형: 숫자, 문자, null, undefined, boolean (불변값)
참조형: object, array, function, date (가변값)
가변값 : 데이터 자체가 변하는 것이 아니라, 참조하는 주소만 변경되는 것.
원본 변경시 카피본도 영향을 받는다.
: 값으로 전달받은 객체를 변경해도 원본은 변하지 않아야 할 때.
undefined 는 순회가능한, 아직 할당되지 않은 값. null 은 순회하지 않는 비어있는 값.
ex) let a = 1
// a는 식별자이고 1은 변수(변경가능한 데이터가 담길 수 있는 공간)
// 변수 선언과 데이터 할당 부분으로 나뉜다.
=> 중복된 데이터 처리 시 효율적인 데이터 사용을 위해.
// 변수와 데이터를 별도의 공간에 나누어 저장.