TIL 103. 배열, 객체를 const로 선언했는데 요소나 속성을 추가할 수 있는 이유

isk·2023년 4월 6일
0

TIL

목록 보기
104/122
post-custom-banner
  • 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];
post-custom-banner

0개의 댓글