原型拓展:
isPrototypeOf
A.isPrototypeOf(B): 返回值为布尔类型,表示A是否为B的原型对象
getPrototypeOf
Object.getPrototypeOf(A): 获得A的原型对象
setPrototypeOf
Object.setPrototypeOf(A, B): 将B设置为A的原型对象,前提B为一个对象或者null
对象拓展:
针对对象的属性进行的操作
调用方式: Object.preventExtensions(obj)
查看对象是否可以扩展:Object.isExtensible(obj) 查看obj对象是否可以扩展,返回值为布尔值
密封对象:对象的属性不能被添加,也不能被删除(保证属性的数量不发生改变)
Object.seal(obj): 对obj对象密封
封闭是不可逆的,一旦封闭就无法解封
Object.isSealed(obj):查看obj对象是否密封,返回值为布尔值
freeze
冻结对象:不能删除、不能修改,不能添加
调用方式:Object.freeze(obj): 将obj对象冻结
冻结是不可逆的,一旦冻结就无法解冻
Object.isFrozen(obj):查看obj对象是否被冻结
create
Object.create(prototype, description)
返回值为:一个新的对象
prototype: 生成对象的原型对象
description: 特性对象