编辑代码

//2. Object.defineProperty() 定义新属性或修改原有的属性
let arr = {
    id: 1,
    name: "xiaoming",
    age: 23
}
Object.defineProperty(arr, 'gender', {
    value: "man",
    // 如果只为false 不允许修改这个属性值 默认值也是false
    writable: false,
    // enumerable 如果值为false 则不允许遍历, 默认的值是 false
    enumerable: true,
    // configurable 如果为false 则不允许删除这个属性 不允许在修改第三个参数里面的特性 默认为false
    configurable: false
})
console.log(arr)
console.log(Object.keys(arr))
console.log(Object.values(arr))