const obj = {
a: 123
}
// 定义属性描述符
Object.defineProperty(obj, 'a', {
value: 456,
// 是否可写
writable: true,
// 是否可枚举
enumerable: true,
// 是否可配置
configurable: true,
// 赋值器
set(v) {
console.log('set', v)
},
// 取值器
get() {
console.log('get')
return 123
}
})
// 获取属性描述符
const desc = Object.getOwnPropertyDescriptor(obj, 'a')