知识-属性描述符

54 阅读1分钟
// 设置属性符
var obj = {a: '123'}
Object.defineProperty(obj, 'a', {
    value: '456',
    writable: false,// 只读
    enumerable: false, // 不可枚举
    configurable: false, // 不可修改属性描述
    get: function(){
        return '456'
    },
    set: function(){
        throw new Error('属性a只读,不能重新赋值')
    }
})



// 读取属性描述对象
Object.getOwnPropertyDescript(obj, 'a')

obj.a => get()
obj.a = '555' => set()