[javascript] 객체의 프로퍼티를 접근 가능/불가능으로 설정하는 방법

JavaScript 객체의 프로퍼티에 대한 접근 가능성은 Writable, Enumerable, Configurable 속성을 사용하여 설정할 수 있습니다. 이러한 속성을 사용하여 객체의 프로퍼티를 읽기 전용으로 설정하거나, 숨김 처리하거나, 삭제 방지 등의 제어가 가능합니다.

이번 포스트에서는 객체의 프로퍼티에 접근 가능/불가능을 설정하는 방법에 대해 자세히 알아보겠습니다.

프로퍼티 속성

JavaScript 객체는 속성(property)을 가지고 있으며, 각 속성에는 value, writable, enumerable, configurable 속성을 포함하여 객체에 대한 제어 권한을 설정할 수 있습니다.

프로퍼티 제어하기

아래는 객체의 프로퍼티 속성을 통해 접근 가능성을 설정하는 방법에 대한 예제입니다.

// 객체 생성
let obj = {
  name: "John",
  age: 30
};

// 프로퍼티를 읽기 전용으로 설정
Object.defineProperty(obj, "name", { writable: false });

// 프로퍼티 숨김 처리
Object.defineProperty(obj, "age", { enumerable: false });

// 프로퍼티 삭제 방지
Object.defineProperty(obj, "id", { configurable: false });

위의 예제에서는 Object.defineProperty 메서드를 사용하여 obj 객체의 name 프로퍼티를 읽기 전용으로, age 프로퍼티를 숨김 처리로, id 프로퍼티를 삭제 방지 속성으로 설정하였습니다.

프로퍼티 접근 가능성 설정은 어플리케이션의 보안 및 유지보수에 중요한 영향을 미치므로, 주의하여 사용하여야 합니다.

결론

JavaScript의 Object.defineProperty 메서드를 사용하여 객체의 프로퍼티에 대한 접근 가능성을 설정할 수 있습니다. 이를 통해 프로퍼티의 값을 읽기 전용으로 만들거나, 숨김 처리, 삭제 방지 등의 제어가 가능해집니다.

이를 통해 안전하고 제어 가능한 코드를 작성하는 데 도움이 될 것입니다.


참고문헌: