[javascript] Object.defineProperty() 메서드를 사용한 프로퍼티 추가
JavaScript에서 Object.defineProperty()
메서드를 사용하면 객체에 새로운 프로퍼티를 추가하고 해당 프로퍼티의 속성을 정의할 수 있습니다. 이 메서드는 프로퍼티를 정의하거나 기존 프로퍼티의 속성을 수정할 때 사용됩니다.
Object.defineProperty()
메서드 구문
Object.defineProperty()
메서드는 다음과 같은 구문을 가지고 있습니다.
Object.defineProperty(obj, prop, descriptor)
여기서
obj
: 프로퍼티를 추가할 객체입니다.prop
: 정의할 프로퍼티의 이름입니다.descriptor
: 프로퍼티의 속성을 정의하는 객체입니다.
descriptor
객체의 속성
descriptor
객체는 다음과 같은 속성을 가질 수 있습니다.
value
: 프로퍼티의 값writable
: 프로퍼티의 값을 변경 가능하게 할지 여부enumerable
: 프로퍼티가 열거 가능한지 여부configurable
: 프로퍼티의 속성을 수정하거나 삭제할 수 있는지 여부
Object.defineProperty()
의 활용 예시
다음은 Object.defineProperty()
메서드를 사용하여 프로퍼티를 추가하는 예시입니다.
let obj = {};
Object.defineProperty(obj, 'newProp', {
value: 'Hello',
writable: false,
enumerable: true
});
위의 예시에서 newProp
이라는 새로운 프로퍼티가 obj
객체에 추가되었고, 해당 프로퍼티의 값을 변경할 수 없으며 열거 가능한 속성을 가지도록 정의되었습니다.
Object.defineProperty()
메서드를 사용하면 JavaScript 객체에 동적으로 프로퍼티를 추가하고 속성을 정의할 수 있으므로 코드 유연성을 높일 수 있습니다.