돌아가기
이 글은 다음 언어로만 작성되어 있습니다. . 한국어 번역에 참여해주세요.

변하지 않는 객체?

중요도: 5

const와 함께 선언한 객체를 변경하는 게 가능할까요? 생각을 공유해주세요!

const user = {
  name: "John"
};
// 아래 코드는 에러 없이 실행될까요?
user.name = "Pete";

당연히 에러 없이 실행됩니다.

const는 한 번이라도 값을 할당한 변수가 변경되는 걸 막습니다.

변수 user는 객체 참조 값을 저장하고 있는데, const는 이 값이 변경되는걸 막는 것이지, 객체의 내용(프로퍼티)을 변경하는 건 막지 않습니다.

const user = {
  name: "John"
};
// works
user.name = "Pete";
// error
user = 123;