JavaScript 对象(Objects) 方法

Object.getOwnPropertyDescriptor 方法允许查询有关属性的完整信息并返回自己属性的属性描述符(即直接存在于对象上而不是对象的原型链中的属性描述符) 的给定对象。

语法:

bject.getOwnPropertyDescriptor(obj, prop)

参数

obj:它是要在其中查找属性的对象。

Prop:它是要检索其描述的属性的名称。

返回值

如果对象上存在给定属性,则返回该属性的属性描述符。

浏览器支持

chrome4
edge是的
firefox12
opera4

示例

下面介绍一些例子帮助理解该方法的使用。

示例1

const object1 = {
  property1: 42
}
const object2 = {
  property2: 34
}
const descriptor1 = Object.getOwnPropertyDescriptor(object1, 'property1');
const descriptor2 = Object.getOwnPropertyDescriptor(object2, 'property2');
console.log(descriptor1.enumerable);
console.log(descriptor2.enumerable);
console.log(descriptor1.value);
console.log(descriptor2.value);

输出:

true
true
42
34

示例2

const object1 = {
  property1: 42
}
const descriptor1 = Object.getOwnPropertyDescriptor(object1, 'property1');
console.log(descriptor1.configurable);
console.log(descriptor1.enumerable);
console.log(descriptor1.value);

输出:

true
true
42

示例3

const object1 = {
  property1: 56
}
const descriptor1 = Object.getOwnPropertyDescriptor(object1, 'property1');
console.log(descriptor1.writable);
console.log(descriptor1.value);

输出:

true
56