Object.defineProperty
作用:定义对象的新属性或修改原有的属性
语法:Object.defineProperty(obj, prop, descriptor)
obj:对象
prop:需要定义或修改的属性
descriptor:属性的特征
当设置或获取对象的某个属性的值的时候,可以提供getter/setter方法。
getter:获取属性值的方法
setter:设置数性质的方法
在特性中使用get/set属性来定义对应的方法
let obj = {};
obj.key = 'sao';
Object.defineProperty(obj,"key",{
get:function (){
//当获取值的时候触发的函数
console.log('get')
},
set:function (value){
//当设置值的时候触发的函数
console.log('set',value)
}
});
console.log(obj.sao);//get
obj.key = 'tao';//set tao