object的相关方法

122 阅读2分钟

boject的概述

Object类是所有类的父类,也就是说所有对象都默认继承Object类,那么对应的Object的方法所有的对象都可以使用,主要学习的object的相关方法是提供给其他对象使用的

相关属性和方法

object的方法主要分为原型方法和静态方法,相关属性对应的实例拥有的属性(实例属性)

相关属性

{}.——proto—— 表示对象的原型 指定当前构造函数的原型prototype {}.constructor 表示对象的构造函数

原型方法

  1. hasOwnProperty 判断对象本身是否具备属性 不包含原型上的属性
  2. isPrototypeof 判断当前对象是否处在原型链上
  3. propertyIsEnumeable 判断属性是否可以被for in枚举(遍历)
  4. toString 转为字符串
  5. toLocalstring 转为对应的本地格式字符串
  6. valueOF 得到自身的值

废弃的四个方法

  • —defineGetter— 定义getter方法
  • —definesetter— 定义setter方法
  • — lookupGetter— 返回对应的getter方法
  • — lookupSetter— 返回对应的setter方法

静态方法

  1. Object.assign 将传入的对象的内容填入到第一个传入的对象内容内 返回的是第一个对象(可以完成对象的浅拷贝 拷贝第一层 其他层拷贝地址 产生新的对象)
  2. Object.create 根据传入的内容来创建对应的内容 (create 是将对应的传入的对象放入创建对象的原型上)
  3. Object.keys 获取对象的键
  4. Object.values 获取对象的值
  5. Object.entries 获取对象的键值对 组成的二维数组
  6. Object.is 判断两个对象是否一致
  7. Object.getPrototypeOf 获取原型
  8. Object.setProtypeOf

对象相关操作限制的方法

  1. 不可扩展 不能进行内容添加 preventExtensisns (判断是否可扩展 is Extensible)
  2. 密封 只能查询和修改 其他操作不允许seal (判断是否密封 isSealed)
  3. 冻结 只能查询 freeze(isFrozen 判断是否冻结)
  4. 冻结 必定密封和不可扩展 密封必定不可扩展

属性相关的获取方法

  1. Object.getOwnPropertyNames (获取对象上的所有属性名 (不包含symbol修饰的 不包含原型上的))
  2. Object.getOwnPropertySymbols (获取对象上名字为symbol的属性名 不包含原型上的)
  3. Object.getOwnPropertyDescriptor (获取对应的属性的详情对象 (不包含原型上的))
  4. Object.getOwnPropertyDescriptors (获取所有的属性的详情对象 (不包含原型上的))

属性对象(descriptor 对象)

属性
  1. configable 是否可以删除
  2. enumerable 是否可以枚举
  3. value 值
  4. writable 是否可以修改

访问属性

  1. configable 是否可以删除
  2. enumerable 是否可以枚举
  3. get getter 访问的时候调用
  4. set setter 设置的时候调用
  • Object.defineProperty 用于定义对象的属性
  • Object.defineProperties 用于定义对象的多个属性