es5中只能依次设置每个属性的set或者get,不能设置整体的set或者get
es6可以通过proxy重写元程序,针对整体的get算法进行重写
obj中的name是数据属性
get、set后的age属性是访问器属性,访问器属性:当外部js给age赋值时走的时setter函数,当外部js获取age时 走的getter函数,setter和getter是隐藏函数,会取我们写在age后边的函数。
let obj = {
name : 1,
get age(){
return 22
},
set age(value){
console.log('set')
obj.name=value
}
}
obj.age = 300
console.log('obj1',obj.age)//22
console.log('obj2',obj.name)//300