Object的属性和方法

源于MDN

属性

Object.prototype.__proto__ ES6新增

Object.prototype.constructor

方法

Object.is()
判断两个值是否是相同的值。ES6新增

Object.create()
创建一个新对象,使用现有的对象来提供新创建的对象的__proto__。 参数二设置其自身不可枚举属性

Object.assign()
将所有可枚举属性(自身的)的值从一个或多个源对象复制到目标对象。它将返回目标对象。ES6新增,浅拷贝

属性的默认特性相关:

修改/得到属性的默认特性(们),建议不要在IE8中使用。
Object.defineProperties()
Object.defineProperty()

返回指定对象上一个自有属性((直接赋予该对象的属性,不需要从原型链上进行查找))对应的属性描述符。
Object.getOwnPropertyDescriptor()
Object.getOwnPropertyDescriptors() ES6新增

属性相关:

for...in循环
只遍历对象自身的和继承的可枚举的属性。

Object.prototype.hasOwnProperty()
对象自身属性中是否具有指定的属性

Object.getOwnPropertyNames()
返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组。

Object.getOwnPropertySymbols()
返回一个给定对象自身的所有 Symbol 属性的数组。

Object.keys()
返回一个由一个给定对象的自身可枚举属性组成的数组。ES6新增

Object.values()
返回一个给定对象自身的所有可枚举属性值的数组。ES6新增

Object.entries()
返回一个给定对象自身可枚举属性的键值对数组。ES6新增

Object.fromEntries()
是Object.entries()的逆操作,用于将一个键值对数组转为对象。ES6新增

原型相关:

Object.getPrototypeOf()
返回指定对象的原型(内部[[Prototype]]属性的值)。ES6新增

Object.setPrototypeOf()
设置一个指定的对象的原型 ( 即, 内部[[Prototype]]属性)到另一个对象或 null。ES6新增

Object.prototype.isPrototypeOf()
测试一个对象是否存在于另一个对象的原型链上。

其它相关:

Object.prototype.toString()
返回一个表示该对象的字符串。如果此方法在自定义对象中未被覆盖,toString() 返回 "[object type]",其中 type 是对象的类型。

Object.prototype.valueOf()
返回指定对象的原始值。(Math 和 Error 对象没有 valueOf 方法。)

Object.prototype.toLocaleString()
toLocaleString 返回调用 toString() 的结果。

未用过的

Object.freeze()
Object.fromEntries()
Object.isExtensible()
Object.isFrozen()
Object.isSealed()
Object.preventExtensions()
Object.prototype.propertyIsEnumerable()
Object.seal()
Object.prototype.__defineGetter__()
Object.prototype.__defineSetter__()
Object.prototype.__lookupGetter__()
Object.prototype.__lookupSetter__()
Object.prototype.toSource()

原文地址:https://www.cnblogs.com/L-xmin/p/13339560.html