- 对象的定义与赋值
经常使用的定义与赋值方法obj.prop =value或者obj[‘prop’]=value
Object.defineProperty()语法说明
Object.defineProperty()的作用就是直接在一个对象上定义一个新属性,或者修改一个已经存在的属性
Object.defineProperty(obj, prop, desc)
obj 需要定义属性的当前对象
prop 当前需要定义的属性名
desc 属性描述符
一般通过为对象的属性赋值的情况下,对象的属性可以修改也可以删除,但是通过Object.defineProperty()定义属性,通过描述符的设置可以进行更精准的控制对象属性。
Object.defineProperty(obj, key, {
enumerable: true,
configurable: true,
get(){
console.log(`${key}属性被读取了`);
return obj[key];
},
set(newVal){
if(obj[key] === newVal){
return
}
console.log(`${key}属性被修改了`);
obj[key] = newVal;
}
})