Object

prototype 字样相关

函数名 描述
Object.getPrototypeOf(a) 获取一个对象的 __proto__ 所指,等效于 obj.__proto__
Object.setPrototypeOf(a, b) 把对象 a 的 __proto__ 指向 b 对象
Object.prototype.isPrototypeOf b.isPrototypeOf© b 是 c 的原型吗?b 是否出现在 c 的原型链上?c.__proto__, c.__proto__.__proto__ ... 是否指向 b?

property 字样

函数名 描述
Object.prototype.hasOwnProperty 1
Object.prototype.propertyIsEnumerable 1
Object.defineProperties 1
Object.defineProperty 1
Object.getOwnPropertyDescriptor 1
Object.getOwnPropertyDescriptors 1
Object.getOwnPropertyNames 1
Object.getOwnPropertySymbols 1

Object.defineProperty(obj, ‘key’, { 描述符 })

给 obj 对象的 key 键设置描述符。

公共

configurable: 描述符以后是否可被改变
enumerable: key 是否可枚举

数据描述符

value:key 对应的值
writable:值是否可写入

存取描述符

get:访问属性时,此 get 方法会被执行,传入 this 对象
set:属性值被修改时,触发此方法,接受属性新的参数值为参数

其他

Object.create(anotherObj)

创建一个对象,把新创建出来的对象__proto__ 指向 anotherObj