[javascript] 객체의 프로퍼티를 동결하는 방법

자바스크립트에서는 객체의 프로퍼티를 동결하여 수정할 수 없도록 만들 수 있습니다. 객체를 동결하면 새로운 프로퍼티를 추가하거나 기존의 프로퍼티 값을 변경하는 것이 불가능해집니다.

Object.freeze() 메서드

Object.freeze() 메서드를 사용하여 객체를 동결할 수 있습니다.

const obj = {
  prop: 42
};

Object.freeze(obj);

위 예제에서 obj 객체의 프로퍼티가 동결되었습니다. 이제 obj 객체의 프로퍼티는 수정할 수 없습니다.

동결 확인

Object.isFrozen() 메서드를 사용하여 객체가 동결되었는지 확인할 수 있습니다.

console.log(Object.isFrozen(obj)); // 출력: true

주의 사항

Object.freeze() 메서드를 사용해도 객체 내부의 중첩된 객체의 프로퍼티는 자동으로 동결되지 않습니다. 중첩된 객체의 프로퍼티도 동결하려면 해당 객체에 대해서도 Object.freeze() 메서드를 사용해야 합니다.

결론

Object.freeze() 메서드를 사용하여 자바스크립트 객체의 프로퍼티를 동결할 수 있습니다. 이를 통해 수정할 수 없는 불변 객체를 생성하여 자료의 무결성을 유지할 수 있습니다.

내용 참조: MDN web docs - Object.freeze()