본문 바로가기
javascript/모던 자바스크립트 Deep Dive

const 키워드의 객체

by yongfront 2024. 2. 2.
반응형
SMALL

const 키워드를 사용하여 선언한 변수는 재할당이 불가능한 변수를 나타냅니다. 이것은 변수가 한 번 초기화되면 다른 값을 할당할 수 없다는 것을 의미합니다. 그러나 **const**로 선언한 변수가 객체를 참조하는 경우, 객체 자체를 변경할 수 있습니다. 다시 말해, const 변수가 참조하는 객체의 속성을 변경하는 것은 허용됩니다.

예를 들어:

const person = {
  name: "Alice",
  age: 30
};

// 객체 속성 변경 가능
person.age = 31;

console.log(person); // 출력 결과: { name: 'Alice', age: 31 }

위의 코드에서 person 변수는 **const**로 선언되었지만, 객체 자체를 변경하지 않고 객체의 속성을 변경하였으므로 에러가 발생하지 않습니다.

반면에 다음과 같이 객체를 새로운 객체로 할당하려고 하면 에러가 발생합니다:

const person = {
  name: "Alice",
  age: 30
};

// 객체를 새로운 객체로 할당 (에러 발생)
person = {
  name: "Bob",
  age: 25
};

이 코드는 person 변수가 재할당을 허용하지 않기 때문에 에러를 발생시킵니다.

따라서 **const**를 사용하여 객체를 선언하면 객체 자체를 다른 것으로 대체할 수 없지만, 객체의 속성을 변경하는 것은 허용됩니다. 이러한 특성은 변수가 참조하는 객체를 보호하면서도 객체의 내부 상태를 변경할 수 있는 유용한 방법을 제공합니다.

728x90
반응형
LIST