const로 선언된 배열이나 객체에 대해서는 요소나 속성을 추가, 변경, 제거할 수 있습니다. 그러나 변수를 재할당하지 못하게 합니다.
배열과 객체는 참조 타입의 값이므로 const로 선언해도 해당 변수에 할당된 참조 값(메모리 주소)은 변경할 수 없지만, 해당 참조 값이 가리키는 객체나 배열은 변경이 가능합니다. 변수에 할당된 배열이나 객체를 변경하는 것은 불가능하지만, 배열이나 객체 내부의 항목을 변경하는 것은 가능합니다.
예를 들어, 다음과 같이 const로 선언된 배열과 객체에 요소나 속성을 추가할 수 있습니다.
const arr = [1, 2, 3];
arr.push(4);
console.log(arr); // [1, 2, 3, 4]
const obj = { a: 1, b: 2 };
obj.c = 3;
console.log(obj); // { a: 1, b: 2, c: 3 }
하지만 const로 선언된 배열이나 객체는 다음과 같이 전체를 다른 값으로 할당하려고 시도하면 에러가 발생합니다.
const arr = [1, 2, 3];
arr = [4, 5, 6]; // TypeError: Assignment to constant variable.
const obj = { a: 1, b: 2 };
obj = { c: 3 }; // TypeError: Assignment to constant variable.
즉, const로 선언된 배열이나 객체는 재할당을 막지만, 요소나 속성의 값을 변경하는 것은 막지 않습니다.
'개발자가 되기 위한 꿀팁 및 정보' 카테고리의 다른 글
[기술면접준비] Cookie의 MaxAge, Expires 옵션에 대해 (0) | 2023.04.04 |
---|---|
[기술면접준비] useRef가 무엇이고 필요한 상황 (0) | 2023.04.04 |
[기술면접준비] require와 import의 차이점과 사용법 (0) | 2023.04.03 |
[기술면접준비] 브라우저 저장소에 대한 차이점(local storage, session storage, cookie) (0) | 2023.03.31 |
[기술면접준비] this의 동작원리와 용법, 그리고 예시 (0) | 2023.03.31 |