getOwnPropertyDescriptor

es버전
Tags
속성
잘안씀
비고
객체의 속성에 대한 설명자(descriptor)를 반환함
Object.getOwnPropertyDescriptor(obj, prop)

인자

obj
속성을 찾을 대상 객체.
prop
설명이 검색될 속성명.
 

descriptor에 포함되는 내용

  • value
    • 속성과 관련된 값 (데이터 설명자만).
  • writable
    • 속성과 관련된 값이 변경될 수 있는 경우에만 true (데이터 설명자만).
  • get
    • 속성에 대해 getter로서 제공하는 함수 또는 getter가 없는 경우 undefined (접근자 설명자만).
  • set
    • 속성에 대해 setter로서 제공하는 함수 또는 setter가 없는 경우 undefined (접근자 설명자만).
  • configurable
    • 이 속성 설명자의 유형이 바뀔 수 있는 경우에만 그리고 속성이 해당 객체에서 삭제될 수 있는 경우 true.
  • enumerable
    • 이 속성이 해당 객체의 속성 열거 중에 나타나는 경우에만 true.
 

예시

var o, d; o = { get foo() { return 17; } }; d = Object.getOwnPropertyDescriptor(o, 'foo'); // d는 { configurable: true, enumerable: true, get: /* getter 함수 */, set: undefined } o = { bar: 42 }; d = Object.getOwnPropertyDescriptor(o, 'bar'); // d는 { configurable: true, enumerable: true, value: 42, writable: true } o = {}; Object.defineProperty(o, 'baz', { value: 8675309, writable: false, enumerable: false }); d = Object.getOwnPropertyDescriptor(o, 'baz'); // d는 { value: 8675309, writable: false, enumerable: false, configurable: false }