拦截器
let obj = {};
obj.name = "张三";
let sys;
obj["age"] = 18;
obj[sys] = Symbol("kk");
let som = Symbol("name");
obj[som] = "ss"
console.log(obj);
console.log(obj[0]);
1)
Object.defineProperty()
静态方法
,会直接在一个对象上定义一个新属性,或修改其现有属性,并返回此对象
2)
Object.defineProperty(操作的对象, 键名, {value:键值})
3)
writable
设置为false不允许修改,设置defineProperty对象添加的值
设置为true允许修改
4)
enumerable
设置为true允许被循环拿取值,false不予许
5)
configurable
false不可被删除,true可以删除
const object1 = {};
object1["name"] = "zs";
let aa = 99;
Object.defineProperty(object1, 'property1', {
value: 42,
writable: true,---[可修改]
enumerable:true,
configurable:false,---[不可修改]
get:function() {
return aa;
},
set:function(user) {
aa = user;
}
});