[javascript] Object.defineProperty() 메서드를 사용한 동적 프로퍼티 추가 예제

자바스크립트에서 객체에 동적으로 프로퍼티를 추가하는 방법은 여러 가지가 있습니다. 그중 하나가 Object.defineProperty() 메서드를 사용하는 방법입니다.

Object.defineProperty() 메서드는 새로운 프로퍼티를 정의하거나 이미 존재하는 프로퍼티를 수정할 때 사용됩니다. 이 메서드를 사용하면 프로퍼티의 속성(enumerable, configurable, writable 등)을 세밀하게 제어할 수 있습니다.

아래 예제는 Object.defineProperty()를 사용하여 동적으로 프로퍼티를 추가하는 방법을 보여줍니다.

let person = {};

Object.defineProperty(person, 'name', {
  value: 'John',
  writable: true,
  enumerable: true,
  configurable: true
});

console.log(person.name); // 'John' 출력

이 예제에서는 빈 객체 personObject.defineProperty()를 사용하여 name이라는 동적 프로퍼티를 추가했습니다. 이 때, value 속성으로 ‘John’을, writable, enumerable, configurable 속성으로 true를 각각 설정했습니다. 이제 person.name으로 해당 프로퍼티에 접근할 수 있습니다.

Object.defineProperty()를 사용하면 객체의 프로퍼티를 세밀하게 제어할 수 있기 때문에 프로퍼티의 동적 추가뿐만 아니라 수정과 삭제에도 유용하게 활용될 수 있습니다.

Object.defineProperty()를 통해 프로퍼티를 추가할 때는 여러 옵션을 고려하여 적절히 활용하는 것이 중요합니다.

참고 자료