Skip to content

Object.defineProperty

javascript
let number = 18

const person = {
    name: "张三",
    sex: "男"
}

// 为对象添加属性
// 参数:对象,属性名,配置属性的对象
Object.defineProperty(person, "age", {
    // 属性的值
    value: 18,
    // 是否可被枚举,默认为false
    enumerable: true,
    // 是否可被修改,默认为false
    writable: true,
    // 是否可被删除,默认为false
    configurable: true,
    // getter方法
    get() {
        console.log("有人读取age属性")
        return number
    },
    // setter方法
    set(value) {
        console.log(`有人修改age属性,值是${value}`)
        number = value
    }
})

请勿转载