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()