Object.getOwnPropertyDescriptors()
**Object.getOwnPropertyDescriptors()
** 静态方法返回给定对象的所有自有属性描述符。
试试看
语法
js
Object.getOwnPropertyDescriptors(obj)
参数
obj
-
要获取所有自有属性描述符的对象。
返回值
包含对象所有自有属性描述符的对象。如果没有属性,则可能为空对象。
描述
此方法允许检查对象的全部自有属性的精确描述。JavaScript 中的属性由字符串值名称或Symbol
和属性描述符组成。有关属性描述符类型及其属性的更多信息,请参阅 Object.defineProperty()
。
属性描述符是一个记录,具有以下某些属性
示例
创建浅拷贝
虽然Object.assign()
方法只会将源对象中的可枚举且自有属性复制到目标对象,但您可以使用此方法和Object.create()
对两个未知对象进行浅拷贝
js
Object.create(
Object.getPrototypeOf(obj),
Object.getOwnPropertyDescriptors(obj),
);
创建子类
创建子类的一种典型方法是定义子类,将其原型设置为超类的实例,然后在该实例上定义属性。对于获取器和设置器,这可能会很麻烦。相反,您可以使用此代码设置原型
js
function superclass() {}
superclass.prototype = {
// Define the superclass constructor, methods, and properties here
};
function subclass() {}
subclass.prototype = Object.create(superclass.prototype, {
// Define the subclass constructor, methods, and properties here
});
规范
规范 |
---|
ECMAScript 语言规范 # sec-object.getownpropertydescriptors |
浏览器兼容性
BCD 表格仅在浏览器中加载