카테고리 없음
[Javascript] 프로퍼티 플래그와 설명자
joy_95
2021. 12. 28. 15:02
프로퍼티 플래그
✔️ 객체 프로퍼티는 값과 함께 플래그(flag)라 불리는 특별한 속성 세 가지를 갖는다.
➖ writable : true 이면 값을 수정할 수 있다.
➖ enumerable : true 이면 반복문을 사용해 나열할 수 있다.
➖ configurable : true 이면 프로퍼티 삭제나 플래그 수정이 가능하다.
let user = {
name : 'John'
}
let discriptor = Object.getOwnPropertyDescriptor(user, 'name');
console.log(JSON.stringfy(descriptor, null,2));
/* property descriptor:
{
"value": "John",
"writable": true,
"enumerable": true,
"configurable": true
}
*/
// 플래그 수정 방법
Object.defineProperty(user, 'name', {
writable : false,
enumerable : false,
configurable : true
}
Object.getOwnPropertyDescriptor
✔️ 특정 프로퍼티에 대한 정보를 모두 얻을 수 있다.
Object.defineProperty
✔️ 객체의 새로운 속성을 직접 정의하거나 수정할 수 있다.