📜  JavaScript Reflect getOwnPropertyDescriptor()方法

📅  最后修改于: 2020-10-25 11:55:55             🧑  作者: Mango

JavaScript Reflect.getOwnPropertyDescriptor()方法

静态Reflect.getOwnPropertyDescriptor()方法用于检索对象属性的描述符。它与Object.getOwnPropertyDescriptor方法相同。

句法:

Reflect.getOwnPropertyDescriptor (obj,  Key)

参数:

对象:这是要在其中查找属性的目标对象。

关键字:这是为其获取自己的属性描述符的属性的名称。

返回值:

如果属性存在于给定的目标对象中,它将返回属性描述符对象。否则,它返回未定义。

异常处理:

如果目标不是Object,则为TypeError。

浏览器支持:

Chrome 49
Edge 12
Firefox 42
Opera 36

例子1

const object1 = {
  property1: 22    };
console.log(Reflect.getOwnPropertyDescriptor(object1, 'property2'));
console.log(Reflect.getOwnPropertyDescriptor(object1, 'property1').writable);

输出:

undefined
 true

例子2

const object1 = {
  property1: 234    };
const hh = {p:4};
console.log(Reflect.getOwnPropertyDescriptor(object1, 'property1').value);

console.log(Reflect.getOwnPropertyDescriptor(object1, 'property2'));

console.log(Reflect.getOwnPropertyDescriptor(object1, 'property1').writable);

console.log (
 Reflect.getOwnPropertyDescriptor ( hh , "yyy" ) === undefined
);

输出:

234
Undefined
true
true

例子3

const object1 = {
  property1: 42
};
console.log(Reflect.getOwnPropertyDescriptor(object1, 'property1').value);

console.log(Reflect.getOwnPropertyDescriptor(object1, 'property2'));

console.log(Reflect.getOwnPropertyDescriptor(object1, 'property1').enumerable);

输出:

42
undefined
true