[javascript] 자바스크립트 프로퍼티 디스크립터의 역할
자바스크립트에서 프로퍼티 디스크립터(property descriptor)는 객체의 속성(property)을 설명하는 역할을 합니다. 이 디스크립터는 프로퍼티의 속성을 정의하고 커스터마이즈하는 데 사용됩니다. 프로퍼티 디스크립터는 Object.defineProperty()
함수를 통해 정의하거나 수정할 수 있습니다.
프로퍼티 디스크립터의 구성 요소
프로퍼티 디스크립터는 다음 세 가지 구성 요소로 이루어져 있습니다:
- value: 프로퍼티의 현재 값
- writable: 프로퍼티의 값을 변경할 수 있는지 여부를 나타내는 불리언 값
- enumerable: 프로퍼티가 for…in 루프에서 열거 가능한지 여부를 나타내는 불리언 값
프로퍼티 디스크립터 사용 예시
아래는 프로퍼티 디스크립터를 사용한 예시입니다:
const person = { name: "John" };
// 프로퍼티 디스크립터 설정
Object.defineProperty(person, "age", {
value: 25,
writable: false,
enumerable: true
});
console.log(person.age); // 25
// 프로퍼티 값을 변경하려고 시도
person.age = 30;
console.log(person.age); // 25 (변경되지 않음)
위의 예시에서 person
객체의 age
프로퍼티는 디스크립터를 사용하여 정의됩니다. value
를 설정하여 초기 값으로 25를 지정하고, writable
을 false로 설정하여 값을 변경할 수 없도록 합니다. enumerable
은 true로 설정되어 for…in 루프에서 프로퍼티가 열거될 수 있도록 합니다.