원시자료형(primitive, 또는 원시값)
- 7종류가 있다;string, number,bigint, boolean,undefined, symbol 그리고 null;
- undefined과 null이 원시자료형이라니 신기하다!!
- 모든 원시값은 불변하여 변형할 수 없다 → 즉, 원본을 건드리지 않고 복사본을 가져와 계속 작업한다;
참조자료형(referenced data type)
- 원시자료형이 아닌 것들;
- 예를들어 배열, 객체, 함수가 있다. → 즉,여러 타입의 데이터들을 합칠 수 있다;
- 변수에 값이 아닌 주소를 저장한다. 데이터를 저장하는 곳의 이름을 heap이라고 하는데, heap의 크기도 변할 수 있고, 데이터가 변경될 수도 있다;
- 그래서 겉으로 같은 데이트를 가진 배열,객체라 하더라도 엄격한 비교를 해보면 false가 나올수 있다. 왜냐하면 주소가 다르기때문에!!