相关文档: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: 函数,监视当前属性值的变化,更新其他相关的属性值