boject的概述
Object类是所有类的父类,也就是说所有对象都默认继承Object类,那么对应的Object的方法所有的对象都可以使用,主要学习的object的相关方法是提供给其他对象使用的
相关属性和方法
object的方法主要分为原型方法和静态方法,相关属性对应的实例拥有的属性(实例属性)
相关属性
{}.——proto—— 表示对象的原型 指定当前构造函数的原型prototype {}.constructor 表示对象的构造函数
原型方法
- hasOwnProperty 判断对象本身是否具备属性 不包含原型上的属性
- isPrototypeof 判断当前对象是否处在原型链上
- propertyIsEnumeable 判断属性是否可以被for in枚举(遍历)
- toString 转为字符串
- toLocalstring 转为对应的本地格式字符串
- valueOF 得到自身的值
废弃的四个方法
- —defineGetter— 定义getter方法
- —definesetter— 定义setter方法
- — lookupGetter— 返回对应的getter方法
- — lookupSetter— 返回对应的setter方法
静态方法
- Object.assign 将传入的对象的内容填入到第一个传入的对象内容内 返回的是第一个对象(可以完成对象的浅拷贝 拷贝第一层 其他层拷贝地址 产生新的对象)
- Object.create 根据传入的内容来创建对应的内容 (create 是将对应的传入的对象放入创建对象的原型上)
- Object.keys 获取对象的键
- Object.values 获取对象的值
- Object.entries 获取对象的键值对 组成的二维数组
- Object.is 判断两个对象是否一致
- Object.getPrototypeOf 获取原型
- Object.setProtypeOf
对象相关操作限制的方法
- 不可扩展 不能进行内容添加 preventExtensisns (判断是否可扩展 is Extensible)
- 密封 只能查询和修改 其他操作不允许seal (判断是否密封 isSealed)
- 冻结 只能查询 freeze(isFrozen 判断是否冻结)
- 冻结 必定密封和不可扩展 密封必定不可扩展
属性相关的获取方法
- Object.getOwnPropertyNames (获取对象上的所有属性名 (不包含symbol修饰的 不包含原型上的))
- Object.getOwnPropertySymbols (获取对象上名字为symbol的属性名 不包含原型上的)
- Object.getOwnPropertyDescriptor (获取对应的属性的详情对象 (不包含原型上的))
- Object.getOwnPropertyDescriptors (获取所有的属性的详情对象 (不包含原型上的))
属性对象(descriptor 对象)
属性
- configable 是否可以删除
- enumerable 是否可以枚举
- value 值
- writable 是否可以修改
访问属性
- configable 是否可以删除
- enumerable 是否可以枚举
- get getter 访问的时候调用
- set setter 设置的时候调用
- Object.defineProperty 用于定义对象的属性
- Object.defineProperties 用于定义对象的多个属性