Object.getOwnPropertyDescriptor() 可以取得给定属性的描述符。
这个方法接收两个参数:属性所在的对象和要读取其描述符的属性名称
const obj = {
name: "chen",
age: "18",
}
const val = Object.getOwnPropertyDescriptor(obj, 'name')
console.log(val);
{ value: 'chen', //属性值
writable: true, //属性是否可修改
enumerable: true, //属性是否可枚举(for in 能否遍历到)
configurable: true //属性是否可删除
}
Object.defineProperty() 方法直接在一个对象上定义一个新属性,或者修改一个已经存在的属性, 并返回这个对象。
Object.defineProperty(obj, "age", {
value: '24',
writable: true,
enumerable: true,
configurable: true
})
Object.defineProperty(obj, "gender", {
value: '男',
writable: true,
enumerable: true,
configurable: true
})
console.log(obj);
{ name: 'chen', age: '24', gender: '男' }