카테고리 없음

[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

✔️ 객체의 새로운 속성을 직접 정의하거나 수정할 수 있다.

 

Reference