Object.getOwnPropertyDescriptors() 语法
Object.getOwnPropertyDescriptors() 是 JavaScript 的一个静态方法,它用于返回一个对象,该对象包含了指定对象 “所有” 属性的配置信息(如 value、configurable、enumerable、writable)。
语法:
Object.getOwnPropertyDescriptors(obj)说明:
Object.getOwnPropertyDescriptors() 方法接收单个参数。
obj(必选):是一个对象。
如果想获取指定对象 “某个” 属性的配置信息,我们应该使用 getOwnPropertyDescriptor()。而如果想获取指定对象 “所有” 属性的配置信息,我们应该使用 getOwnPropertyDescriptors()。
注意: getOwnPropertyDescriptors() 是一个静态方法,它只能被类名(即 Object)调用,而无法被实例调用。
Object.getOwnPropertyDescriptors() 摘要
| 属于 | JavaScript Object 对象 |
|---|---|
| 使用频率 | 低 |
| 官方文档 | 查看 |
| MDN | 查看 |
Object.getOwnPropertyDescriptors() 示例
接下来,我们通过一个简单的例子来讲解一下 Object.getOwnPropertyDescriptors() 方法是如何使用的。
示例 1:Object.getOwnPropertyDescriptors() 基本用法
const person = {
name: "Jack",
gender: "男"
};
const desc = Object.getOwnPropertyDescriptors(person);
console.log(desc.name.value);
console.log(desc.name.configurable);
console.log(desc.name.enumerable);
console.log(desc.name.writable);运行结果如下。
Jack
true
true
trueObject.getOwnPropertyDescriptor() 与 Object.getOwnPropertyDescriptors() 的区别
Object.getOwnPropertyDescriptor() 只包含单个属性的配置信息,而 Object.getOwnPropertyDescriptors() 包含了所有属性的配置信息。
示例 2:Object.getOwnPropertyDescriptor() vs Object.getOwnPropertyDescriptors()
const person = {
name: "Jack",
gender: "男"
};
const desc1 = Object.getOwnPropertyDescriptor(person, "name");
console.log(desc1.value);
const desc2 = Object.getOwnPropertyDescriptors(person);
console.log(desc2.name.value);运行结果如下。
Jack
Jack