Object.defineProperty(对象,添加的属性,{属性的值})方法
注意:通过Object.defineProperty()方法添加的属性是:1.不可枚举 2.不可被修改 3.不可被删除
1.“不可枚举” 举例说明:
let person = {
name:'张三',
sex:'男',
}
Object.defineProperty(person,'age',{
value:18,
})
console.log(person)
console.log(Object.keys(person))
输出结果: 发现,age不能枚举。
如何解决不能枚举这种情况?
添加enumerable:true,就可以了。
Object.defineProperty(person,'age',{
value:18,
enumerable:true,// 控制属性是否可以枚举,默认值是false
})
2.“不可被修改” 举例说明:
代码还是上面的代码!
如何解决不能被修改这种情况?
添加writable:true,就可以了。
此处就不加代码了,跟上面基本一样。默认我添加了。我给出输出结果。
3.“ 不可被删除” 举例说明:
如何解决不能被删除这种情况?
添加configurable:true,就可以了。