[JS교양] 객체 타입에 `const` 를 사용하는 것에 대하여

const

JavaScript에서 `const`는 상수를 선언하는데 사용되는 키워드이다. `const`로 선언된 변수는 값의 "재할당이 불가능"하다. 이를 통해 변수의 "불변성을 보장"할 수 있다. 

 

 

원시타입과 참조타입

`const`로 선언된 원시타입변수는 더 이상 어떠한 변경도 불가능하다. `const`로 선언된 참조타입변수도 마찬가지로 변수 자체를 변경하는 행위는 불가능하다. 하지만 참조타입변수의 `속성값`들은 변경이 가능하다. 

 

여기서 의문점이 하나 생겼다. "참조형변수 자체를 변경할 일은 없겠지만 속성을 변경할 경우가 생기면 `const`를 사용하면 안되지 않나? 시스템적으로는 문제가 없겠지만 협업시 다른 개발자가 괜히 헷갈리지는 않을까?" 라는 의문심이 들어서 아주 박학하신 분께 여쭤봤다.

 

=> 변수 자체를 변경할 것이 아니라면 `const` 를 쓰는게 좋다고 하셨다. 재할당이 안되게 메모리 공간 자체를 잠궈버리는게 안전하고 예외상황이 발생할 확률을 많이 낮춰준다. 

댓글

Designed by JB FACTORY