- const로 선언된 배열과 객체는 해당 변수가 참조하는 메모리 주소를 변경할 수 없습니다.
- 이는 const가 변수의 값을 고정시킨다는 뜻입니다.
- 그러나 배열과 객체는 참조 타입이므로, 배열과 객체가 참조하는 값은 별도의 메모리 공간에 저장됩니다.
- 따라서 const로 선언된 배열과 객체의 값을 변경하는 것이 아닌,
배열과 객체가 참조하는 값의 요소나 속성을 변경하는 것은 가능합니다.
- 이는 참조하는 값의 메모리 주소를 변경하지 않고, 해당 주소에 있는 값만 변경하므로 const로 선언된 변수를 사용할 때도 배열과 객체 내부의 요소나 속성을 변경하는 것은 가능합니다.
아래의 코드는 가능
const arr = [5, 7, 2];
arr[0] = 1;
arr[1] = 2
arr[2] = 3;
하지만, const로 선언된 변수는 상수로 값을 재할당 할 수 없습니다.
아래와 같이 재할당 시 오류
const arr = [5, 7, 2];
arr = [1, 2, 3];