Object.defineProperty

相关文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty

语法:Object.defineProperty(obj, prop, descriptor)

属性描述符:数据描述符,访问描述符

  1.数据描述符:

属性名 描述 默认值
configurable 是否可以重新定义 false
enumerable

是否可以枚举,当值为true时可以通过

Object.keys()方法得到属性名

false
value 任意初始值 undefined
writable 当且仅当该属性的 writable 键值为 true 时,属性的值,也就是上面的 value,才能被赋值运算符改变 false

  2.访问描述符

    get: 函数,根据其他相关的数据动态计算得到当前属性值

    set: 函数,监视当前属性值的变化,更新其他相关的属性值

 

原文地址:https://www.cnblogs.com/zhizou/p/13747148.html