var obj = {
name:'张三',
age:20
}
Object.defineProperty(obj,'num',{
value:1000,
enumerable:true
})
console.log(Object.keys(obj))
console.log(obj)
如上代码,为新增num属性,值为1000,因为Object.defineProperty新增属性是不可枚举的 所以添加enumerable:true即可枚举
Object.keys可以获取对象的键
var obj = {
name:'张三',
age:20
}
Object.defineProperty(obj,'age',{
value:30,
})
console.log(Object.keys(obj))
console.log(obj)
如上代码,为修改obj对象的age属性,
Object.defineProperty(obj,'num',{
value:1000,
enumerable:true,
configurable:true,
writable:true
})
Object.defineProperty(obj,'id',{
writable:false
})
obj.id = 2
obj.num = 5000
// delete obj.num
console.log(Object.keys(obj))
console.log(obj)
writable:true 是否可重写
configurable:true 是否可以删除或修改 (需设置writable:true配合)