JavaScript의 타입은 원시 값과 참조 값으로 나뉜다.
원시 값(원시 자료형)
- 원시 값은 객체가 아니고 메서드나 속성을 갖지 않는 원시 데이터이다.
- 원시 값은 한 변수에 하나의 값을 저장한다.
원시 데이터 타입: string, number, bigint, boolean, undefined, symbol, null
- 모든 원시 값은 불변(immutable)하여 변형할 수 없다.
- 원시 값 자체와 원시 값을 할당한 변수를 혼동하지 않아야 하다.
- 변수는 새로운 값으로 재할당 할 수 있지만, 이미 존재하는 원시 값은 객체, 배열, 함수와 달리 변형할 수 없다.
=> 원시 값을 교체할 수는 있지만, 직접 변형할 수는 없다.
참조 값(참조 자료형)
- 참조 값은 한 변수에 여러 개의 값을 저장하기 위해 등장했다.
- 참조 값은 한 변수에 여러 데이터를 저장하고 있는 주소를 저장한다.
참조 데이터 타입: array, object, function
- 데이터의 주소를 통해 데이터를 가져올 수 있다.
- 데이터는 heap에 저장된다.
- 같은 주소를 가리키고 있는 두 변수가 있고 그 주소에 해당하는 데이터가 변경되었을 때, 두 변수를 호출하면 둘 모두 데이터가 변경된다. 주소는 변경되지 않는다.
참고문헌