개발일지

5월 취업대비반 - 배열, 객체를 const로 선언했는데 요소나 속성을 추가할 수 있는 이유 본문

frontEnd/기술면접

5월 취업대비반 - 배열, 객체를 const로 선언했는데 요소나 속성을 추가할 수 있는 이유

푸린푸린김푸린 2023. 5. 15. 12:34

 

const 변수에 할당된 값은 바뀌지 않지만, 배열/객체가 변수에 할당될 때에는 찾아가는 주소만 할당된 참조 자료형이기 때문입니다. 요소나 속성을 변경하더라도 해당 주소는 변경되지 않으므로 const로 선언된 배열, 객체라도 속성을 추가할 수 있는 것 입니다.

 

+ 여기서 나올 수 있는 추가질문 

불변객체를 만드는 법은 ?

const로 재할당은 불가능하지만 속성은 변경이 가능합니다. 이때 Object.freeze()메소드의 재할당은 가능하지만 속성은 변경 불가한 특성을 활용해 불변객체를 만들 수 있습니다. 또는 Object.assign()메소드, 전개연산자, lodash의 cloneDeep()을 활용해 깊은 복사를 하여 원본 객체를 보존하는 방법도 있습니다.

 

 

 

 

 

 

reference.

배열, 객체를 const로 선언했는데 요소나 속성을 추가할 수 있는 이유?.(2022. 11).23.05검색.https://intothenight.tistory.com/15

배열, 객체를 const로 선언했는데 요소나 속성을 추가할 수 있는 이유를 설명해주세요.코딩연습장.(2023.02).23.05검색.https://codingpracticenote.tistory.com/177https://puringles.tistory.com/309

 

 

 

Comments