----Object.getOwnPropertyNames()
方法返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组
----Object.getPrototypeOf()
方法返回指定对象的原型(内部[[Prototype]]属性的值)
----Object.getOwnPropertyDescriptors()
方法用来获取一个对象的所有自身属性的描述符
----Object.getOwnPropertyDescriptor()
方法返回指定对象上一个自有属性对应的属性描述符。(自有属性指的是直接赋予该对象的属性,不需要从原型链上进行查找的属性)
----Object.assign()
方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象
----Object.create()
方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__
----Object.freeze()
方法可以冻结一个对象。一个被冻结的对象再也不能被修改;冻结了一个对象则不能向这个对象添加新的属性,不能删除已有属性,不能修改该对象已有属性的可枚举性、可配置性、可写性,以及不能修改已有属性的值。此外,冻结一个对象后该对象的原型也不能被修改。freeze() 返回和传入的参数相同的对象
----Object.isFrozen()
方法判断一个对象是否被冻结
----Object.isSealed()
方法判断一个对象是否被密封
----hasOwnProperty()
方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键)
----isPrototypeOf()
方法用于测试一个对象是否存在于另一个对象的原型链上
----Object.is()
方法判断两个值是否为同一个值
----Object.defineProperty()
方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象
Object.defineProperty(obj,prop,descriptor)
描述 | configurable | enumerable | value | writable | get | set |
---|---|---|---|---|---|---|
数据描述符 | 可以 | 可以 | 可以 | 可以 | 不可以 | 不可以 |
存取描述符 | 可以 | 可以 | 不可以 | 不可以 | 可以 | 可以 |
Object.defineProperties()可以对多条属性进行修改
----Object.entries()
方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for...in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环还会枚举原型链中的属性
----Object.keys()
方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致
----Object.fromEntries()
方法把键值对列表转换为一个对象
----Object.preventExtensions()
方法让一个对象变的不可扩展,也就是永远不能再添加新的属性