Object defineProperty属性详解

  • Object.defineProperty(obj,prop,descriptor)是es5的
  • 它会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。
    Object defineProperty属性详解
  • 参数
    obj:必需。目标对象
    prop:必需。需定义或修改的属性的名字
    descriptor:必需。目标属性所拥有的特性
  • descriptor参数的属性
    value:属性值
    writable:是否可写
    enumerable:是否可枚举
    Configurable:表示能否通过delete删除属性从而重新定义属性
  • 当用Object.defineProperty定义一个新属性时候他的writable、enumerable、Configurable默认是关闭的;当用它修改一个现有属性是这些值是默认开启的;
    Object defineProperty属性详解
  • 使用存取描述符get、set
    获取属性值的时候会进入get方法
    Object defineProperty属性详解

赋值属性值时会进入set方法
Object defineProperty属性详解

  • Object.defineProperties可以去批量定义修改多个属性

Object defineProperty属性详解

相关文章: